Salesforce customization in 6 steps

Salesforce customization in 6 steps

December 20, 2019

Roman Erohin

Salesforce Expert

There comes a moment in each Salesforce owner’s life when they feel it’s time to customize. Fortunately, Salesforce is the platform designed for customization. Salesforce users are able to fine-tune the platform to their individual needs as well as develop their own apps to perform any task they have in mind.

Let’s talk about the main difference between configuration and customization first, then major reasons for customization, and customization workflows you’ll need to arrange.

To configure or to customize?

Salesforce can be tailored in two ways, by means of either configuration or customization. The choice will determine how you shape your project team.

If you go down the configuration path, you can use point-and-click tools without resorting to programming. Consequently, your Salesforce admin can manage the whole configuration process.

The examples of Salesforce configuration go like these:

  • Adding objects and/or fields
  • Adding tabs and/or apps
  • Creating profiles
  • Creating workflows
  • Setting validation rules

When you customize the platform, you’ll have to code in order to bring your ideas to life. For this, you will need the help of a developing team, based in-house or provided by one of Salesforce implementation partners.

The examples of Salesforce customizations are:

  • Creating Apex classes and triggers
  • Integrating third-party systems
  • Adding new features in JavaScript
  • Changing UI using CSS

In the process of tailoring your Salesforce solution, you will likely need both options. We recommend starting with configuration to understand how much you can do with minimal effort and human resources. And as your appetites grow, you can shift to code-based customization.

Keep in mind, though, that any change entails consequences. Even a tweak like deleting a value can lead to unexpected problems. Therefore, prior to changing anything, make sure you understand how it works and how it’s linked to other Salesforce components in use.

Salesforce makes customization easy

Salesforce never misses the opportunity to mention that their platform is designed to be customized. They actually do have a right to claim this, due to the following:

  • Intuitive UI

Salesforce has an intuitive and easy-to-master UI design tools, so developers can introduce changes on their own, even very specific ones, regardless of their general level of Salesforce proficiency.

  • Time-efficient app development

No jokes, you can develop an app in Salesforce in a few hours, with the help of drag-and-drop options. Naturally, you can’t build a sophisticated app in such a way, but if you need to set up a specific action immediately, it’s a great alternative to the typical laborious process of app development.

Salesforce Lightning App Builder
  • Prebuilt apps

Salesforce has its own app marketplace, AppExchange, that has thousands of third-party apps already prebuilt to go well with Salesforce.

When you should consider customization or configuration

Salesforce solutions take time to get used to and thus might show low adoption rates in their first days, when it’s still difficult for users to see their value. While customization is usually seen as something complicated, it can actually drive adoption up by tailoring the system to users’ needs. Let’s review the major aspects ruining adoption where customization can help.

Lack of automation

Instead of doing their actual job, your employees get stuck with time-consuming, tedious tasks, like entering the same data in different fields or engaging in needless work when their colleagues failed to send important follow-ups. This is an obvious sign that such repetitive business processes need to be automated.

How to fix it

Depending on the use case, you can first opt for the following default Salesforce tools: Approvals, Process Builder, Workflow, and Flow Builder.

For example, you can use Process Builder to simplify a particular business process with if/then rules, such as ‘if a deal is closed, then notify the manager’.

When the process is complicated and requires advanced functionality beyond the Process Builder range, you can create a flow with Flow Builder, for example, ‘if conditions XX are present, evaluate for conditions YY’.

If your automation aspirations are ever-rising, resort to your developers’ help for creating code-based custom workflows within Salesforce.

Inconvenient UI

When you start using Salesforce in place of some other platform or Excel spreadsheets, your employees may find it difficult to get used to the new landscape of fields and tabs, particularly when they miss any important objects they used previously.

How to fix it

In Salesforce, you can configure layouts according to the established workflows using drag-and-drop or enable/disable options as well as a WYSIWYG editor.

If you want to modify the interface to give it a unique look, for example, with a custom theme, you should go for deeper customization aided by your Salesforce admin or developers.

Inefficient reporting

When Salesforce produces insights that don’t make sense to your employees, it’s time to revise your data models and customize your reports to increase their value and relevance.

How to fix it

You can start with configuration options, using the visual Report Builder, where it’s possible to drag-and-drop fields and apply filters to deliver specific data. You can also create custom reports using default options.

If Report Builder is limited for your reporting objectives, turn to your developers for report customization with Apex. This way, you will be able to integrate your data into custom objects, use it for rich visualizations, and run different kinds of reports synchronously and asynchronously.

Need for third-party integrations

In order to avoid critical data gaps, companies connect third-party sources to Salesforce and direct all data flows to one place. The trick here is to reach perfect alignment between these integrated systems, which is usually achieved with developers’ help. Developers can use default Salesforce integration tools and API services (available only in the Professional and Enterprise editions) or build in-house integration tools.

How to fix it

If you need to integrate a single data source with your Salesforce system, you can search for a pre-built integration app on the AppExchange market. If you need to integrate multiple systems, pre-built apps can be rather costly as you will have to pay for each integration separately. In this case, a go-to option is a custom integration layer to accommodate all the sources.

The Salesforce customization workflow

Salesforce customization is a popular next step in any Salesforce implementation project. Naturally, in order to align your customized solution with your business goals, you need a strategy. Let’s look at what these strategic stages could be.

Salesforce customization workflow

1. Survey end users to get a picture of real needs

Before you start addressing your scaling or upgrading needs, you first should make Salesforce convenient for your end users—those who drive your revenue. Ask your employees about their experience with Salesforce:

  • Their challenges
  • Features they consider useful but currently lack
  • Features that are currently useless

You can add more questions to get a clearer understanding. Engage your employees, especially your power users—those who are well-aware of the business processes of a particular department—during the entire customization process. With their ongoing feedback, you can tweak everything on the go and eliminate critical issues before you roll out the customizations.

2. Decide on the customization team

Here you can follow a few paths depending on available resources and time.

Hire certified Salesforce consultants

Third-party consultants are a viable choice when you have limited time for scaling and upgrading. Consultants are ready to provide you with an immediate expertise to meet the project scope. The best part is, you get instant access to a team of professionals (developers, business analysts, architects, data scientists) who have customized Salesforce previously and know how to avoid the pitfalls.

Build an in-house development team

If you have available Salesforce expertise at hand or just prefer to build and keep everything in-house, your own team is a good option.

Let your team collaborate with consultants

In case your own development team has no experience with Salesforce, consider bringing in external Salesforce consultants, at least for estimating the initial customization scope.

3. Prioritize custom features to moderate the budget

When you ask your end users for feedback on the features they lack, they tend to exaggerate their requests and present them as ultimate needs, without thinking about a bigger picture. However, these needs do not always translate into obvious business opportunities, or their impact is not worth all the system changes and costs entailed in the long run. You need to break your planned custom features into a few groups by their priority.

First, there are must-haves and nice-to-haves. In order to draw the line between them, you need to ask a few questions:

  • If this feature is so critical, how have users been doing without it?

If the work wasn’t disrupted or hampered by the absence of the feature, then it’s obviously a nice-to-have. If the work is time-consuming or unproductive without the feature, it goes straight into the must-have group.

To prioritize further, you need to ask:

  • How will the planned change impact your business?

Think of the potential ROI in case the feature is implemented: how much time will be saved, how dramatic the system change is going to be in terms of the time and costs involved, as well as the adoption.

Once you set your priorities, decide on what to configure and what to customize. As configuration does not require coding, it can be accomplished faster and without a developing team. When your configuration options are exhausted, forward the rest of the planned changes to your developing team or customization partner.

4. Use a sandbox prior to deployment

Each change you make to a complex system can cause an array of unpredictable consequences that cannot always be rolled back. To avoid hampering the system operation, you need to understand how different objects and features are linked. As it’s not always possible to foresee each small detail, it’s much safer to test your customizations in a sandbox environment—it won’t affect your live system in any way.

There are four sandbox types in Salesforce:

Salesforce sandbox types
Developer Sandbox Used for creating new customizations and testing them with fresh test data in a clean system - this sandbox is created without any historical data.
Developer Pro Sandbox Used for creating new customizations and testing them with larger sets of fresh test data than in the Developer Sandbox. The system is also isolated and clean.
Partial Copy Sandbox Used as a testing environment with a set of sample data, to check how a new customization can affect the system.
Full Sandbox Used to carry out performance testing, load testing, and staging. It contains a full copy of the system so it's used for final testing before going live.

5. Avoid over-customization

Companies that set out to customize their Salesforce platforms often fall victim to over-customization. They want to make their systems as functional as possible, and despite the soaring costs try to accumulate as many features as they can think of. As a result, they get cumbersome systems with redundant features and low adoption rates.

To avoid this unfortunate situation, plan your customization with the finish line in mind. To follow the right direction, match the feedback from your end users with your budget and the estimated long-term value of future customizations. If you plan critical system changes, make them one by one. Deliver changes incrementally to let end users get accustomed to them before you make more changes.

6. Provide training for end users

Salesforce adoption is usually a challenge, and each new customization adds to its complexity. As end users are the ones to leverage the system in their daily work, you need to make sure they are Salesforce-savvy.

Let your end users get ready for the deployment. Use different types of sandboxes to train them. This way, when the changes go live, employees will know how to use the upgraded system from day one.

Additionally, arrange ongoing support (through user guidelines or requests to the admin) in case your users need to fill some gaps at the adoption stage.

Summing it up

Salesforce customization is a common step in the implementation process. Salesforce is designed to be customized for a reason—it has so much to offer to match your unique needs.

To get your customization right, you need to pinpoint the major problems that can be solved with it, ask your employees what they lack in the system, prioritize custom features budget- and effort-wise, and go live with prior sandbox testing while training your users.