2 ContentsSetting up the customer portalImplementation Checklist
3 Personalization the Experience for Your Customers Multiple Branded Portals - Differently branded portals for different sets of users, customers, products or usersPortal User Profiles - to drive different page layouts, record types and access for different user segmentsPortal Role Hierarchy and Sharing- 3 level role visibility and include portal users in sharing rulesPortal List Views – Create and expose list views to portal usersUpdate My Profile – Portal users can keep the user and contact information up-to-dateAdvanced Case Management & Knowledge BaseEdit and Close Cases - Edit and close as the portal userCross Account Case Visibility – enable specific portal users to view cases across an account hierarchyCase Deflection using suggested solutions - Offer matching solutions using suggested solutions to deflect cases and reduce costsSearch My Data- Cases, activities, custom objectsAssociate Assets to Cases– Associate assets to cases in an accountRich Content Solutions – Search and browse rich content solutionsExpose Documents – Expose product documents, patches and files
4 Create and Share Custom Apps with your Customers Custom Objects and Tabs- Expose custom objects to portal to enable additional self service processesWeb Tabs – Create mashups and Integrate other appsCustomize using the force.com platform and Apex CodeCustomization Features– Apex Code, S-Controls, Custom Buttons, Custom Links, Custom Fields etcFull User API and Single Sign-On CapabilitiesExpose AppExchange Apps to your customersProject management, collaboration, spreadsheets etcProvide a branded experience to your customersCustomizable Homepage and Branding – Login page, Homepage, Logo, Header and Footer customizationLook and Feel – Style editor for fonts and colors
5 Steps to setup the customer portal Setting up portal users, profiles & rolesSetting up multiple portalsCustomizing the portal user interfaceSetting up the portal login pageSetting up the sharing modelSetting up casesSetting up cross account case visibilitySetting up assetsSetting up solutionsSetting up documentsSetting up custom objects and tabsSetting up list viewsSetting up search layoutsSetting up web tabsSetting up communication templatesUsing reports for analyze usageUsing s-controls and apex codeSetting up single-sign-onUsing the api for the customer portalCreating portal users en masse using Apex Connector
6 A. Setting up portal users, profiles & roles Customer Portal Manager (Basic and Standard) are the default licenses provided depending on the version purchasedCustomer Portal Manager(default license)Customer Portal User(scaled down user type provided for deployments with over 100,000 users)Typical UsersNormal Portals Users, Super Users, Managers, Executives or AdministratorsNormal Portal UsersProfileBoth user types have exact same profile capabilities and permissionsVisibilityCan view their own recordsCan view records of the users below them if put in the manager or executive portal rolesCan only view their own recordsSharingCan share data to these users like Salesforce usersCannot share directly to these usersCan clone customer portal profiles to provide different capabilities and page layouts to customer segments
7 A. Setting up portal users, profiles & roles Portal user licenses are linked to profiles similar to salesforce users with some differencesCan usePage Layouts,Record TypesField Level SecuritySettings in the same as way as salesforce user profilesClone 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 profilesTo expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps)
8 A. Setting up portal users, profiles & roles Portal users profiles have access to subset of objects & tabsTabsAccessAbility to access detail Pages (page layouts)API access (s-controls, Apex code)CasesYesCreate, Read, UpdateSolutionsRead OnlyDocumentsAssetsNoCustom Objects/TabsCreate, Read, Update, DeleteAccountsReadYes (including shared accounts)ContactsYes (including shared contacts)
9 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 pageNeed “Edit self service users” profile perm to enable contacts as portal usersPortal users can be managed like other app users in Setup->Manage Users->UsersCan create a portal user list view by filtering on license typeCan upload large numbers of users using the Apex Data loaderThe contact and portal user are linked on the user detail page
10 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<Account Name> Customer Executive<Account Name> Customer Manager<Account Name> Customer UserAll portal users in the Manager role sees all records associated to the portal users in the User roleAll portal users in the Executive roles sees all records associated to portal users in the Manager role and User rolePortal users in the same role do not see each others records by defaultVisibilitySelect the right role for the user on the user edit pageReport on customer portal role hierarchy using administrative reporting
11 A. Setting up portal users, profiles & roles You can controls access to what portal users see and do using a variety of toolsPage Layouts specifically associated to portal user profilesRecord types specifically for portal use to filter picklists for portal use – with workflow rules to switch record type automaticallyField Level SecurityCRUD on User profileAutomatic Account Scoping
12 B. Setting up multiple portals Create multiple branded portals for different customer segments, products etcThe following attributes of a portal can be configured differently for each portal using a combination of the portal setup and profiles associated the portalPortal Name displayed on browserHeader, footer logoPortal login page and messageTabs visible in portalStyle (colors and fonts)Branded templatesTop Solution CategoryAction ConfirmationsSuggested Solutions
13 B. Setting up multiple portals Create separate profiles for each portalCan select which Customer Portal Profiles are associate to which Portals for access controlA portal user can be associated to multiple portalsEach portal has a unique ID, found in the login URL e.g portalId=060D Q1F.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.
14 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.For each portal you can define the following in portal setupHeader or logoFooterThe homepage layout tied to portal user profile determines which of the following types of components can be displayed to the portal usersCustomer Portal WelcomeSolution SearchCreate NewRecent ItemsSearch (Cases, custom objects etc)Document SearchCustom LinksCustom HTML Components and ImagesS-controls1132949934556610787991082
15 C. Customizing the portal user interface Customize the colors and fonts for each portal using the style editor in portal setup
16 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 pageOr embed a Login component in your website (see code on next slide)Forget password linkPortal user enters user name and receives with temp pwdCan set a URL to go to when user logs out (logout URL in portal setup)
17 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=" 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="00D IL5"><input type="hidden" name="portalId" value=" cQ0"><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><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><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><div><a id="forgotPassword" href=" your password?</a><div class="pbBottomButtons"><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></form>
18 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 ruleIt’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 happenThe 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
19 Roles and Subordinates E. Setting up the sharing modelUse Roles and Internal Subordinates instead of Roles and SubordinatesRoles 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 rolesA 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 SubordinatesCEOVP MktgVP SalesVP ServiceWestEastExecMgrUserGreat DivideAcct 1Acct 2Acct 3Acct 4Acct 5Acct n…VisibilityRoles and Subordinates
20 F. Setting up casesClone an existing internal case page layout to create a portal page layoutContact edit rights: contact on case who is the portal user can edit or close casesInternal user can uncheck “Visible in Self-Service Portal” to hide case from portal userCase Attachments: Portal users can upload and edit/delete their attachments but not attachments uploaded by internal usersCase Comments & Activities: Internal user can make activities public/privateOn the portal case page layout solutions related list, filter the fields to only show the Solution title.
21 F. Setting up casesUse case assignment or workflow rules to change ownership of portal created cases to an internal user or queueIf using workflow, you can use the following settingsStep 1. Setup the workflow on the case objectStep 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 ManagerStep 4. Set a workflow action of type field update on field Case Owner to change it to a queue or an internal user
22 F. Setting up casesChanging case ownership using case assignment rulesIf 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 waya) Setup the workflow on the case objectb) 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 Managerd) Set a workflow action of type field update on field Case Record Type to change it to your normal record typeStep 4. Ensure that the page layout associated to your normal record type does NOT have the “Select Case Assignment checkbox by default” checkedUsing 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.
23 F. Setting up casesDeflect cases by automatically displaying suggested solutions for the caseReduce support costsPortal users get an immediate response to their issueActivate by checking the “Enable Self-Close Case from Suggested Solutions” option on portal setupCreate a separate case close page for portal users
24 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 hierarchyGive case access to specific portal user or portal role by manually sharing child account to portal user or portal role in parent accountCan specify read/write or read-only access to casesNOTE: Manual shares need to be recreated if Account Owner of child account changesLauren Boyle in Big Corp Exec role can now see cases from Big Corp EMEA.
25 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 rulesUsing apex connector export the accounts with accountIDs you want to shareUsing apex connector export the portals users with their UserID from the User objectIf sharing to portal roles export the IDs of the portal roles from the Group ObjectExport an account sharing rule from the AccountShare object to use as a template to insert new sharesCreate the list of sharing rulesInsert the records into salesforce.
26 H. Setting up assetsYou can expose assets as a lookup on a case or through an S-controlPortal user sees all assets in his/her account onlyCan make Assets a required field so that customers can track cases associated to specific productsCan use a s-control to display all the assets as a list in a web tab or on the homepage
27 Status field is automatically hidden from portal users I. Setting up solutionsStatus field is automatically hidden from portal usersClone the internal solution page layout and create a simplified version for the customer portalDesignate which solutions are visible in the Customer Portal by selecting the “Visible in Self-Service Portal” checkboxCan set a different top solution category for each Customer Portal in portal setupRich Content Solutions appear in Customer Portal as wellSolution feedback question is tracked in Helpful Solutions report
28 J. Setting up documentsYou can expose document folders to portal users in the same way as for internal salesforce usersCustomer 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” groupIt’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
29 K. Setting up custom objects and tabs Can expose custom objects and tabs to the portalOnly available in the “Standard Version”Portal user can own custom objects records and can change owner to another portal user in accountAdmin selects which custom object to make available in portalTo expose custom objects you need to use cloned custom portal profilesTo expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps
30 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 usersExample 1: Share Training Registrations (custom object) owned by all portal users with Training Manager internal userExample 2: Share All Training Registrations from Account Acme with Acme CSMThe custom object should have a private sharing modelUse “All Customer Portal Users” Default Public GroupUse Portal Roles for Account
31 L. Setting up list viewsYou 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 listsCreate list views specifically for portal users by restricting visibility to the “All Customer Portal Users” groupCustomer 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” groupIt’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
32 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 usersEnsure search layouts on cases, solutions, assets and custom objects are filtered to not show fields you don’t want to expose to portal users.
33 N. Setting up web tabsExpose web tabs to portal users via portal user profilesUse webs in the portal to:Create powerful mashupsIntegrate with other applicationsCreate custom pages using s-controlsTo expose custom tabs/web tabs make sure the tab is included in the service & support app (in Setup->Build->custom apps
34 O. Setting up e-mail communication templates You can create branded templates for when portal users are sent sThe following templates are available in portal setup and can be configured differently for each portal.New userNew passwordLost passwordCase Comment by app userChange Owner to Portal UserIf you have the same users with the same profiles logging into multiple portals it’s recommended you also set the portal wide templates which determine the templates to use when sending notifications, such as a new case comment or a reset password.Because the default templates are sent to users of multiple Customer Portals, we recommend that you create default templates that do not contain portal-specific branding.
35 P. Using reports to analyze usage of the portal You can use reports to monitor logins and knowledge base usageReport on customer portal users and role hierarchy using administrative reportingHelpful Solutions report captures how useful solutions are:Self Service Access Count: Gets incremented when a portal user views a solutionSelf Service Answer Count: Gets incremented when a portal user answers the “Was this solution helpful” questionSelf Service Answer Count: Gets incremented when a portal user answers “Yes” to the “Was this solution helpful” question
36 Q. Using S-controls and Apex Code You can use S-controls and Apex Code to customize the portalUse 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.
37 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:If you are using a token generator that logins into the portal, make sure to add the parameter loginType=2 e.g.Make sure to also turn on the single-sign-on permission on portal user profiles.
38 S. Using the API for the customer portal Portal users have api access to the objects they have access to in the UITo login as a portal user through the api, you need to specify the org ID in the loginscope headerSome customer portal specific api fields are available to ease administrationAccount.IsCustomerPortal: Boolean field indicating the Account is enabled for the Customer Portal.User Role.PortalType: to identify which portal (PRM or Customer Portal)
39 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, & lastname into excelExport an existing portal user’s fields from the user object to use as a template to insert new usersChoose 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 to your users, do a mass password reset (make sure to configure the reset pwd template in portal settings)
40 Implementation Checklist Accounts and segments review for multiple portalsUsers – number, profiles and rolesDesign business processes to be extended to customer segmentsReview Sharing model, design and implement appropriate sharing and role hierarchyHide internal list views, queues and document folders from portal usersDesign and implement portal branding and styleCreate branded communication templatesCreate custom fields and custom objectsCreate portal page layouts, appropriate ‘business processes’, record types and picklistsDesign workflow and assignment rulesImplement portal specific s-controls, button overrides, linksDesign and implement portal home pages and home page componentsDesign and implement branded portal login pageOptional single sign-on implementationImplement Knowledge Base for portal usersDesign appropriate admin reportsRoll out to users