Why is self-registration important?
The Salesforce Community Cloud is a way to connect both external users (such as customers, partners, and third-party resellers) and employees to an organisation, creating a digital channel to access and interact with, at anytime and from anywhere.
Community members demand constant availability of the digital processes and tools within, with emphasis on the self-service aspect of a mobile community experience offering the flexibility which creates real value for those users.
That self-serving nature can be improved further by adding the possibility of mobile Salesforce community self-registration. This removes a long-winded registration process, making the user’s digital engagement with the organisation even more seamless.
Without self-registration, your community users will likely have to manually visit a website, register their details, receive a confirmation email, remember their details, download the app, and log in manually, all to simply access the community application.
Removing steps in these kind of processes and reducing the possibility of any friction in the mobile experience is so important when when delivering the required freedom and convenience community users require.
So how is self-registration enabled?
Even today this can be a very hard thing to achieve. Until recently only the more advanced enterprises and leading B2C brands had the capacity to build and support custom mobile apps which allow self-registration. Thanks to intuitive platforms such as Salesforce, though, it’s now possible for businesses and organisations of all shapes and sizes.
With the following steps, you’ll be able to provide your community members with self-registration on their custom mobile Salesforce community apps:
Create a specific community for mobile authentication
It’s strongly advised that you create a separate community in Salesforce specifically for mobile app authentication. This will never be used in terms of an endpoint for web users, but will create a partition between the web community and the mobile app community. Although at first both the web community and mobile community will be very similar, if a different page, process, or user experience is required (for self-registration or any other process), the change can be added without adverse affects on your other community.
Set up/configure it to allow self-registration
The first real step then is to configure that Salesforce mobile community to allow for self-registration. Here you simply navigate to the community you set up in the above step and allow self-registration against this community.
At this point, you can decide which type of user accounts and profiles will be created by any self-registration (like Person Accounts or Contacts against ‘bucket accounts’). Whichever option you choose, you can then set the Salesforce profile that will be assigned to any newly created users via the self-registration process.
Configure and create a custom login page and configure the community to use it
For any external-facing process, it’s important to align the mobile user experience with your brand. For the self-registration process this will involve two steps. The first is the initial login page, which is what your users will see if they are self-registering or are previously registered returning users.
To implement this, you’ll require a custom VisualForce page which can be tailored to have the look and feel of your brand. Then in the Salesforce Community setup you can assign this page to be used as the login page.
Any self-registering users will also hit this page, so the link to register should be nice and obvious. This leads us on to the next configuration point.
Configure your community to have a self-registration page
Once you’ve created a nice branded login screen, you’ll need to create another VisualForce page, which will be used by any self-registering users.
This should also be branded to suit your organisation. Once this is done, go back to the community configuration within Salesforce again and assign this to be your self-registration page.
Customise your community controller/code
For both the custom login page and the custom registration page, it’s wise to create custom controllers for each of these (and to make these specific classes for your mobile community). This allows specific configuration for both operations to be distinct, and therefore allows them to be diverged from the web community requirements.
Update your contact or person accounts
This is an optional step, but one you should think about carefully. During the creation of the Contact or Person Account records (Salesforce will create the related user record for both), you’ll have limited control over enriching these records, due to a Salesforce restriction on working with different types of records within the same transaction. In this case the limits are around mixed DML operations.
This means you may need to create a trigger to update the Contact or Person Account created during the initial registration flow to enrich the records further.
Amend your error messages for self-registration
Once you’ve completed all the above steps, you’ll be able to specify the community endpoint in your mobile application, then see the custom login page which will allow you to navigate to the self-registration page. For new self-registering users, their experience will be key. If the user has already registered (which means they have a username with the same email address) or they put in a username and password confirmation that does not match, Salesforce will return an error.
These are poor in terms of display and text, so it’s beneficial to tidy these up and change the message to something more appropriate. This will also surface the need for a ‘return to login’ screen for users who forget they’ve already logged in previously.
Initial non-functional tests for self-registration users
There are a few extra tests that you’ll need to perform on self-registration-enabled mobile apps, which are required to give you full confidence prior to moving to QA, UAT, or production. You can see our post on the full list of these for standard login flows here.
For your new community app with self-registration, it’s important to add in tests for the self-registration flow (including purposefully entering incorrect information such as duplicate usernames or email, or mismatched passwords), as well as the ensuring you run the rest of the tests with a user who has self-registered. This means you should self-register a new user each time you perform the tests.
Restart after interrupted app load
At the point an application is synchronising, force close or stop it, then perform an immediate restart to confirm the expected restart behaviour occurs.
Confirmation or other email alerts
Firing off welcome emails for new users is a common process. You can distinguish these users if needed, and create specific emails with information on how to use the app, other support channels, and any other useful information you’d like to share to improve the engagement between user and organisation.
Enhancing your mobile Salesforce community apps even further
As more and more Salesforce communities and their users are becoming mobile-first, there will be a rising number which require self-registration because it provides even quicker and easier access to the organisation for members.
With the combination of the Salesforce Community Cloud and Application Delivery Frameworks like MobileCaddy, self-registration can now be achieved with minimal effort.
The purpose of an Application Delivery Framework such as MobileCaddy is to allow organisations to focus entirely on areas of the app which deliver value to their users (or in this case, community members), by automating processes or removing barriers such as cost, speed, and lack of technical skills.
For more insight, you can now see this in action, and learn how to enable community self-registration for your own Salesforce mobile apps. Don’t miss out on this upcoming online demonstration, in which our CEO and Chief Mobile Technical Architect will teach viewers to implement self-registration for custom mobile community apps in under one hour!