Steps to setup the customer portal

Design Guidance
1
Contents
 Setting up the customer portal
 Implementation Checklist
2
 Personalization the Experience for Your Customers
Multiple Branded Portals - Differently branded portals for different
sets of users, customers, products or users
Portal User Profiles - to drive different page layouts, record types and
access for different user segments
Portal Role Hierarchy and Sharing- 3 level role visibility and include
portal users in sharing rules
Portal List Views – Create and expose list views to portal users
Update My Profile – Portal users can keep the user and contact
information up-to-date
 Advanced Case Management & Knowledge Base
Edit and Close Cases - Edit and close as the portal user
Cross Account Case Visibility – enable specific portal users to view
cases across an account hierarchy
Case Deflection using suggested solutions - Offer matching
solutions using suggested solutions to deflect cases and reduce costs
Search My Data- Cases, activities, custom objects
Associate Assets to Cases– Associate assets to cases in an account
Rich Content Solutions – Search and browse rich content solutions
Expose Documents – Expose product documents, patches and files
3
 Create and Share Custom Apps with your Customers
Custom Objects and Tabs- Expose custom objects to portal to enable
additional self service processes
Web Tabs – Create mashups and Integrate other apps
 Customize using the force.com platform and Apex Code
Customization Features– Apex Code, S-Controls, Custom Buttons,
Custom Links, Custom Fields etc
Full User API and Single Sign-On Capabilities
 Expose AppExchange Apps to your customers
 Project management, collaboration, spreadsheets etc
 Provide a branded experience to your customers
Customizable Homepage and Branding – Login page, Homepage,
Logo, Header and Footer customization
Look and Feel – Style editor for fonts and colors
4
Steps to setup the customer portal
A. Setting up portal users, profiles & roles
N. Setting up web tabs
B. Setting up multiple portals
O. Setting up communication templates
C. Customizing the portal user interface
P. Using reports for analyze usage
D. Setting up the portal login page
Q. Using s-controls and apex code
E. Setting up the sharing model
R. Setting up single-sign-on
F.
S. Using the api for the customer portal
Setting up cases
G. Setting up cross account case visibility
T.
H. Setting up assets
I.
Setting up solutions
J.
Setting up documents
K. Setting up custom objects and tabs
L.
Setting up list views
M. Setting up search layouts
5
Creating portal users en masse using
Apex Connector
A. Setting up portal users, profiles & roles
• Customer Portal Manager (Basic and Standard) are the default licenses
provided depending on the version purchased
Customer Portal Manager
(default license)
Customer Portal User
(scaled down user type provided for deployments
with over 100,000 users)
Typical Users
Normal Portals Users, Super Users,
Managers, Executives or Administrators
Normal Portal Users
Profile
Both user types have exact same profile capabilities and permissions
Visibility
Can view their own records
Can view records of the users below them if
put in the manager or executive portal roles
Can only view their own records
Sharing
Can share data to these users like
Salesforce users
Cannot share directly to these users
 Can clone customer portal profiles to provide different capabilities and page layouts to
customer segments
6
A. Setting up portal users, profiles & roles
• Portal user licenses are linked to profiles similar to salesforce users with some
differences

Can use
 Page Layouts,
 Record Types
 Field Level Security

Settings in the same as way as
salesforce user profiles

Clone standard profiles to create
custom portal profiles (remember
to add new profiles to a portal)

To expose custom objects you
need to use cloned custom portal
profiles

To expose custom tabs/web tabs
make sure the tab is included in
the service & support app (in
Setup->Build->custom apps)
7
A. Setting up portal users, profiles & roles
• Portal users profiles have access to subset of objects & tabs
Tabs
Access
Ability to access detail
Pages (page layouts)
API access (s-controls,
Apex code)
Cases
Yes
Create, Read,
Update
Yes
Yes
Solutions
Yes
Read Only
Yes
Yes
Documents
Yes
Read Only
Yes
Yes
Assets
No
Read Only
Yes
Yes
Custom
Objects/Tabs
Yes
Create, Read,
Update, Delete
Yes
Yes
Accounts
No
Read
No
Yes (including shared
accounts)
Contacts
No
Read
No
Yes (including shared
contacts)
8
A. Setting up portal users, profiles & roles
• Create new portal users by clicking on the “Enable Customer Portal User”
button on a contact’s detail page

Need “Edit self service users” profile
perm to enable contacts as portal
users

Portal users can be managed like
other app users in Setup->Manage
Users->Users

Can create a portal user list view by
filtering on license type

Can upload large numbers of users
using the Apex Data loader

The contact and portal user are linked
on the user detail page
9
A. Setting up portal users, profiles & roles
• 3 portal roles (User, Manager, Executive) in each account allow you to set
visibility to match your customers org structure
• All portal users in the Manager role sees all
records associated to the portal users in the
User role
• All portal users in the Executive roles sees all
records associated to portal users in the
Manager role and User role
• Portal users in the same role do not see each
others records by default
 <Account Name> Customer Executive
 <Account Name> Customer Manager
 <Account Name> Customer User

Select the right role for the user on the user
edit page

Report on customer portal role hierarchy
using administrative reporting
10
Visibility
A. Setting up portal users, profiles & roles
• You can controls access to what portal users see and do using a variety of tools
 Page Layouts specifically associated to portal user profiles
 Record types specifically for portal use to filter picklists for portal use – with workflow
rules to switch record type automatically
 Field Level Security
 CRUD on User profile
 Automatic Account Scoping
11
B. Setting up multiple portals
• Create multiple branded portals for different customer segments, products etc

The following attributes of a portal can be
configured differently for each portal using a
combination of the portal setup and profiles
associated the portal
 Portal Name displayed on browser
 Header, footer logo
 Portal login page and message
 Tabs visible in portal
 Style (colors and fonts)
 Branded e-mail templates
 Top Solution Category
 Action Confirmations
 Suggested Solutions
12
B. Setting up multiple portals
• Create separate profiles for each portal

Can select which Customer Portal Profiles
are associate to which Portals for access
control

A portal user can be associated to multiple
portals

Each portal has a unique ID, found in the
login URL e.g 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.
13
C. Customizing the portal user interface
• Customize the portal UI using the look and feel settings on the portal setup and
the homepage layouts tied to portal user profiles.
1
For each portal you can define the following in
portal setup
1 Header or logo
2 Footer
3
9
4
The homepage layout tied to portal user profile
determines which of the following types of
components can be displayed to the portal
users
9
9
3 Customer Portal Welcome
4
5
6
7
8
Solution Search
Create New
Recent Items
Search (Cases, custom objects etc)
5
6
10
Document Search
Custom Links
9 Custom HTML Components and Images
10 S-controls
7
9
8
2
14
C. Customizing the portal user interface
• Customize the colors and fonts for each portal using the style editor in portal
setup
15
D. Setting up the portal login page
 You can brand the default login page or post to the login page from a login
component from your website.

Generic login page that matches
your portal theme. Create a link on
your website to go to this page

Or embed a Login component in
your website (see code on next
slide)

Forget password link
 Portal user enters user name
and receives e-mail with temp
pwd

16
Can set a URL to go to when user
logs out (logout URL in portal setup)
D. Setting up the portal login page
 You can use the following HTML to POST to the portal login page from a
custom webpage
<form name="login" action="https://na1.salesforce.com/secur/login_portal.jsp" method="POST" base_target="_top">
<input type="hidden" name="startURL" value="">
<input type="hidden" name="loginURL" value="">
<input type="hidden" name="useSecure" value="true">
<input type="hidden" name="jse" ID="jse" value="0">
<input type="hidden" name="local" value="">
<input type="hidden" name="orgId" value="00D300000007IL5">
<input type="hidden" name="portalId" value="060300000004cQ0">
<input type="hidden" name="loginType" value="2">
<div class="pbHeader">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pbTitle"><h2>Secure Customer Login</h2></td>
</tr>
</table>
</div>
<div class="pbBody">
<div class="errorMsg">Please enter your username below.</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<th scope="row"><label for="username">User Name:</label></th>
<td><input autocomplete="on" type="text" NAME="un" size="25" maxlength="80" value="" class="username"></td>
</tr>
<tr>
<th scope="row"><label for="password">Password:</label></th>
<td><input autocomplete="on" type="password" id="password" name="pw" size="25" maxlength="80" class="pw"></td>
</tr>
</table>
<div>
<a id="forgotPassword"
href="https://na1.salesforce.com/secur/forgotpasswordp.jsp?orgId=00D300000007IL5&portalId=060300000004cQ0&pLu=%2Fsecur%2Flogin_portal.jsp">Forgot your password?</a>
</div>
</div>
<div class="pbBottomButtons">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pbTitle"><img width="1" height="1" title="" class="minWidth" alt="" src="/s.gif"></td>
<td class="pbButtonb"><input type="submit" class="btn" value="Login"></td>
</tr>
</table>
</div>
</form>
17
E. Setting up the sharing model
 The Customer Portal requires a private sharing model for accounts & cases, so
that portal users don’t see data from other accounts.

You can recreate
internal public sharing
on accounts & cases by
creating an “All Internal
Users” public group to
“All Internal Users”
sharing rule
 It’s recommended that you create the “All internal Users” sharing rule before setting
accounts to private so users don’t see any change in visibility as the changes happen
 The conversion to private sharing may take many hours to complete so it’s highly
recommended that it be done on a weekend.
 Also set private sharing on custom objects that should not be visible across portal
accounts
18
E. Setting up the sharing model

CEO
Roles and Subordinates groups do
include portal users and can mean
inadvertently sharing data with
portal users.
Use the new “Roles and internal
subordinates” group instead which
does not include portal users and
roles
West
A wizard is provided to convert org
wide sharing rules form “Roles and
subordinates” to “Roles and internal
subordinates”

If roles and subordinates is used in
other areas such as queues, public
groups, list views, manual shares
they should be replaced with Roles
and Internal Subordinates
East
Great Divide
Acct 1
Acct 2 Acct 3
Acct 4
Acct 5
Acct n
Exec
Exec
Exec
Exec
Exec
Exec
Mgr
Mgr
Mgr
Mgr
Mgr
User

VP Sales VP Service
VP Mktg
Visibility

Use Roles and Internal Subordinates instead of Roles and Subordinates
19
User
User
User
User
Mgr
…
User
Roles and Subordinates

F. Setting up cases

Clone an existing internal case page layout to create a portal page layout

Contact edit rights: contact on case who is
the portal user can edit or close cases

Internal user can uncheck “Visible in SelfService Portal” to hide case from portal
user

Case Attachments: Portal users can
upload and edit/delete their attachments
but not attachments uploaded by internal
users

Case Comments & Activities: Internal user
can make activities public/private

On the portal case page layout solutions
related list, filter the fields to only show the
Solution title.
20
F. Setting up cases

Use case assignment or workflow rules to change ownership of portal
created cases to an internal user or queue

If using workflow, you can use the following settings
Step 1. Setup the workflow on the case object
Step 2. Set the evaluation criteria to "only when
a record is created"
Step 3. Set the rule criteria to Current User:User
Type equals equals Basic Customer
Portal Manager, Standard Customer
Portal Manager
Step 4. Set a workflow action of type field
update on field Case Owner to change it
to a queue or an internal user
21
F. Setting up cases

Changing case ownership using case assignment rules
If using case assignment rules it is recommended you set up an additional record type and page layout
which you change to your normal record type using workflow after the case is created (this will prevent
cases from being reassigned when they are edited by portal users)
Step 1: Create a “new portal case” record type with a corresponding case page layout that has the “Select
Case Assignment checkbox by default” checked.
Step 2: Ensure that this "new portal case" is the case record type selected on the portal user profiles (and
only this record type is selected)
Step 3: Create a workflow rule that changes the “new portal case” record type to your normal record type
when a new case is created by a portal user in the following way
a) Setup the workflow on the case object
b) Set the evaluation criteria to "only when a record is created"
c) Set the rule criteria to Current User:User Type equals Basic
Customer Portal Manager, Standard Customer Portal Manager
d) Set a workflow action of type field update on field Case Record
Type to change it to your normal record type
Step 4. Ensure that the page layout associated to your normal
record type does NOT have the “Select Case Assignment
checkbox by default” checked
Using different page layouts/record types for new case and edit
case in this way, allows you the flexibility to restrict some fields
from being edited by portal users after the case is created.
22
F. Setting up cases

Deflect cases by automatically displaying suggested solutions for the case

Reduce support costs

Portal users get an immediate
response to their issue

Activate by checking the “Enable
Self-Close Case from Suggested
Solutions” option on portal setup

Create a separate case close page
for portal users
23
G. Setting up cross account case visibility
Use account sharing rules to allow portal users or portal roles to view and edit
cases from other accounts in a hierarchy

Give case access to specific
portal user or portal role by
manually sharing child account to
portal user or portal role in parent
account

Can specify read/write or readonly access to cases

NOTE: Manual shares need to be
recreated if Account Owner of
child account changes
Lauren Boyle in Big Corp Exec role
can now see cases from Big Corp
EMEA.
24
G. Setting up cross account case visibility
To assign cross account visibility to many users en masse you can use the
apex connector to create the account sharing rules

Using apex connector export the accounts with accountIDs you want to share

Using apex connector export the portals users with their UserID from the User object

If sharing to portal roles export the IDs of the portal roles from the Group Object

Export an account sharing rule from the AccountShare object to use as a template to insert new
shares

Create the list of sharing rules

Insert the records into salesforce.
25
H. Setting up assets
 You can expose assets as a lookup on a case or through an S-control

Portal user sees all assets in his/her
account only

Can make Assets a required field so
that customers can track cases
associated to specific products

Can use a s-control to display all the
assets as a list in a web tab or on the
homepage
26
I. Setting up solutions
Status field is automatically
hidden from portal users

Clone the internal solution page layout and
create a simplified version for the customer
portal

Designate which solutions are visible in the
Customer Portal by selecting the “Visible in
Self-Service Portal” checkbox

Can set a different top solution category for
each Customer Portal in portal setup

Rich Content Solutions appear in Customer
Portal as well

Solution feedback question is tracked in
Helpful Solutions report
27
J. Setting up documents
 You can expose document folders to portal users in the same way as for
internal salesforce users

Customer Portal users can automatically
see any folders with “This folder is
accessible by all users”.

Create folders specifically for portal users by
restricting accessibility to the “All Customer
Portal Users” group.

Hide internal folders from portal users by
restricting visibility in the folder setup to the
“All internal users” group

It’s recommended you restrict the “Manage
Public Documents” profile permission to
admins only so that internal users don’t
inadvertently create folders that can be
viewed by customer portal users.

You can create folders accessible by
specific customer accounts by using portal
roles to define access
28
K. Setting up custom objects and tabs

Can expose custom objects and tabs to the
portal

Only available in the “Standard Version”

Portal user can own custom objects
records and can change owner to another
portal user in account

Admin selects which custom object to
make available in portal

To expose custom objects you need to use
cloned custom portal profiles

To expose custom tabs/web tabs make
sure the tab is included in the service &
support app (in Setup->Build->custom
apps
29
K. Setting up custom objects and tabs

For custom objects that are related to specific portal users e.g training
registrations let the portal user own the record and share to internal users

Example 1: Share Training
Registrations (custom object) owned
by all portal users with Training
Manager internal user

Example 2: Share All Training
Registrations from Account Acme with
Acme CSM

Use “All Customer Portal Users” Default Public
Group
Use Portal Roles for Account
The custom object should have a
private sharing model
30
L. Setting up list views
 You can create case, solution and custom object list views for portal users in the
same way as for internal salesforce users.

Portal users can choose between multiple list views
and sort lists

Create list views specifically for portal users by
restricting visibility to the “All Customer Portal
Users” group

Customer Portal users can automatically see any
list view with visibility settings marked “This view is
accessible by all users”.

Hide internal list views from portal users by
restricting visibility in the list view setup to the “All
internal users” group

It’s recommended you restrict the “Manage Public
List Views” profile permission to admins only so
that internal users don’t inadvertently create list
views that can be viewed by customer portal users.

You can create list views accessible by specific
customer accounts by using portal roles to define
access
31
M. Setting up search layouts
 Search layouts used internally are applicable for the portal as well. Restrict any
fields that should be not visible to portal users

Ensure search layouts on
cases, solutions, assets and
custom objects are filtered to
not show fields you don’t want
to expose to portal users.
32
N. Setting up web tabs
• Expose web tabs to portal users via portal user profiles

Use webs in the portal to:
 Create powerful mashups
 Integrate with other applications
 Create custom pages using s-controls

To expose custom tabs/web tabs make
sure the tab is included in the service &
support app (in Setup->Build->custom
apps
33
O. Setting up e-mail communication templates
 You can create branded templates for when portal users are sent e-mails

The following templates are available in portal setup and can be configured differently for each
portal.
 New user
 New password
 Lost password
 Case Comment by app user
 Change Owner to Portal User

If you have the same users with the same profiles
logging into multiple portals it’s recommended you
also set the portal wide e-mail templates which
determine the email templates to use when
sending email notifications, such as a new case
comment or a reset password.

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.
34
P. Using reports to analyze usage of the portal
• You can use reports to monitor logins and knowledge base usage

Report on customer portal users and
role hierarchy using administrative
reporting

Helpful Solutions report captures
how useful solutions are:
 Self Service Access Count: Gets
incremented when a portal user
views a solution
 Self Service Answer Count: Gets
incremented when a portal user
answers the “Was this solution
helpful” question
 Self Service Answer Count: Gets
incremented when a portal user
answers “Yes” to the “Was this
solution helpful” question
35
Q. Using S-controls and Apex Code
• You can use S-controls and Apex Code to customize the portal

Use the portal stylesheet in your s-controls by specifying the correct OrgID and PortalID
 “/sCSS/9.0/PortalDefault/<ORGID>/<PORTALID>/portal.css”

Embed S-controls on portal homepage by creating an HTML homepage component that
refers to the S-control in an IFRAME.
 <IFRAME src="/servlet/servlet.Integration?lid=<S-control Record ID>&ic=1" frameBorder=0
width="100%" height=200 scrolling = no></IFRAME>

Apex Code in the portal runs in the context of the portal user, and has access to all the
objects allowed in the customer portal profile.
36
R. Setting up single-sign-on
• The single sign on capabilities available for the salesforce application are also
available for the customer portal.
• See technote on implementing single-sign-on:
http://wiki.apexdevnet.com/index.php/How_to_Implement_Single_Sign-On_with_Salesforce.com
• If you are using a token generator that logins into the portal, make sure to add
the parameter loginType=2 e.g.
https://na1.salesforce.com/secur/login_portal.jsp?orgId=00D300000007IL5&portalId=0603000000
04cQ0&[email protected]&pw=123456&loginType=2
• Make sure to also turn on the single-sign-on permission on portal user profiles.
37
S. Using the API for the customer portal
 Portal users have api access to the objects they have access to in
the UI
 To login as a portal user through the api, you need to specify the org ID
in the loginscope header
 Some customer portal specific api fields are available to ease
administration
 Account.IsCustomerPortal: Boolean field indicating the Account is
enabled for the Customer Portal.
 User Role.PortalType: to identify which portal (PRM or Customer
Portal)
38
T. Creating portal users en masse using Apex Connector

Using apex connector export all the contacts you want to enable with the minimum
contact fields of contactId, e-mail & lastname into excel

Export an existing portal user’s fields from the user object to use as a template to
insert new users

Choose the correct ProfileID for each of the contacts (query the Profile Object for the
correct ProfileIDs)

User Role ID is optional (defaults to user role) and can be updated after the user is
created.

Insert the records into salesforce.

When you are ready to send the new login e-mail to your users, do a mass password
reset (make sure to configure the reset pwd e-mail template in portal settings)
39
Implementation Checklist
1.
Accounts and segments review for multiple portals
2.
Users – number, profiles and roles
3.
Design business processes to be extended to customer segments
4.
Review Sharing model, design and implement appropriate sharing and role hierarchy
5.
Hide internal list views, queues and document folders from portal users
6.
Design and implement portal branding and style
7.
Create branded communication templates
8.
Create custom fields and custom objects
9.
Create portal page layouts, appropriate ‘business processes’, record types and picklists
10. Design workflow and assignment rules
11. Implement portal specific s-controls, button overrides, links
12. Design and implement portal home pages and home page components
13. Design and implement branded portal login page
14. Optional single sign-on implementation
15. Implement Knowledge Base for portal users
16. Design appropriate admin reports
17. Roll out to users
40