Salesforce customization: Accessory or necessary?
You have your Salesforce solution set up and running and it seems all you’ve got to do right now is relax and enjoy the moment. But, alas, you and your Salesforce end users have slowly started to notice that, as great as Salesforce is, it’s not perfect as is. Some fields are missing, reports aren’t all that enlightening, and processes just aren’t quite automated enough.
Sound familiar? Happens to the best of us. And more often than not, it means resorting to Salesforce configuration, customization, or some combination of the two.
Salesforce customization as a concept
This question is best answered by comparing Salesforce configuration and customization. Very roughly speaking, Salesforce configuration means opening the platform's "settings tab" and clicking different buttons to add or change fields, objects, tabs, set up automation workflows, create apps using a no-code interface and so on.
Salesforce customization fulfills the same goal of adapting the platform in a specific way to suit your business processes but it entails much more serious actions that involve programming skills and code-level changes.
Why do companies opt for Salesforce customization?
Things like excessive manual data input, missing workflows for complex approval processes and lacking email automation can cost sales, customer service or marketing teams a lot of time. This way, all the big and small imperfections in your Salesforce solution keep your users’ productivity down, thus negatively affecting your revenue. To remedy this situation and improve Salesforce user experience, companies set out to customize Salesforce so that it supports specific bits of their business processes better.
What tools are used for customization?
You can customize Salesforce using a vast variety of tools. Some of them are Salesforce’s proprietary tools and others are delivered by Salesforce’s technology partners. Here are some of Salesforce’s proprietary customization tools:
- Visualforce is a front-end HTML-like programming language used for creating UI pages and components.
- Apex is a back-end programming language syntactically similar to Java and C# used for working with user actions and objects.
- SOQL (Salesforce Object Query Language) is an SQL-like programming language used for querying data in Salesforce.
- Salesforce Connect is an OData protocol tool that enables Salesforce users to interact with third-party system data as if it were stored in Salesforce objects.
What can be customized in Salesforce?
Since Salesforce is indeed a highly customizable platform, you can alter virtually any element in it. All customizable elements can be roughly divided into three groups: UI (user interface), functionality, and integrations.
1. You can change the look and feel of the original Salesforce UI. Why do that? For example, an organization may feel that they need their employees to see their corporate colors and logos while working in Salesforce because it gives them a sense of corporate unity and reminds them of corporate values (especially relevant in home-office conditions). If so, they can customize Salesforce and give it a branded UI. And if an org feels that they can benefit from a better UX in their Salesforce solution, they can change page layouts as needed.
2. You can customize Salesforce functionality, which means:
- You can customize system entities like objects, fields, reports, dashboards, tabs, templates, notifications, workflows, etc. Tweaking these is a major part of the Salesforce customization and configuration routine that results in a Salesforce solution reflecting your business processes.
- Simply altering these entities isn't always enough. Sometimes customization plans stem from the greater need to build massive multistep custom processes into Salesforce. For example, you may need your Salesforce solution to support complex damage reimbursement approvals, marketing content review, or tax evaluation processes.
- Salesforce features and apps are great on their own (Einstein AI, Chatter, Virtual Assistant, etc.) but you may have to change them or even develop new custom features and apps to fulfill your objectives. For example, you can develop a gamification app to boost the productivity of your customer service agents.
3. You can build integrations between Salesforce and any other third-party system that you're using: ERP, ITSM, intranets, social media, E-commerce platforms, accounting software, computer telephony, email. There are ways to avoid development efforts here, for example, by buying a ready-made connector for Salesforce and the system of your choice on AppExchange, but sometimes you need to do what you need to do. Especially if multiple systems are involved.
Is there something else I need to know?
Oh, yes, there is. First of all, you should know you won't be able to customize Salesforce having just any Salesforce edition. Salesforce Sales Cloud, for example, limits customization capabilities this way:
Second of all, you should keep in mind that getting carried away with customizations is always a bad idea. There are Salesforce customization vendors out there that will tell you how great customization capabilities are in Salesforce and that they can customize the heck out of it changing practically everything in the platform to satisfy your every whim. But that's a very deep rabbit hole. If you employ too much customization, it will get very difficult to support, upgrade, and enhance your Salesforce solution.
So, when you need to change something in Salesforce, you — or your customization vendor — should first exhaust all standard configuration-related options and only then turn to customization as a rescue. And that’s not just our own best practice for delivering Salesforce customization services; Salesforce itself recommends always trying configuration first.
Common Salesforce customization use cases
Besides the already-mentioned integrations, branded UI, altered page layouts, custom objects, and custom processes that can’t be built using relevant Salesforce configuration capabilities (Workflow and Approvals, Process Builder, Flow Builder), there are a couple more customization use cases common in Salesforce.
Custom email templates and trigger
To achieve more with automated emails than just "thank you for placing your order with us" or "please, tell us how happy you are with our customer service team," companies use Salesforce customization capabilities to build custom email templates and trigger-based automation processes. For example, Salesforce automated emailing can help streamline invoicing procedures. However, such customizations may need Salesforce to be integrated with your accounting software.
As your Salesforce solution grows, it gets more and more data and manually updating that data takes a lifetime. So that end users don’t have to do it all by themselves, many organizations run bulk data updates and, for example, weekly reevaluate leads and opportunities.
Custom reports and dashboards
Necessary reports and dashboards can’t always be built using the standard Report Builder functionality due to its limitations regarding the amount of report columns, rows and filters. So, companies turn to Salesforce customization to make their reports more visible and relevant.
A case from Vention's Salesforce customization portfolio
Customer: A nonprofit social enterprise that makes education more accessible for vulnerable learners.
Challenge: The customer was looking to automate the process of matching students with tutors as part of their educational activities, facilitate student-tutor collaboration, and streamline invoicing processes.
What we did:
- To enable seamless collaboration between the Customer's students, tutors and partners, Vention set up a Salesforce community. It helped the Customer monitor the needs of their employees, partners and customers and gather much-needed feedback.
- To automate student-tutor matching, we built a custom Salesforce app and integrated it with Google maps. The app enabled students to find tutors based on both their specific educational characteristics and their geographical proximity.
- To help the Customer gain better visibility and foster precision in their invoicing processes, we also integrated their Salesforce solution with Xero, an online accounting platform.
Customization project duration
If you're expecting that it will take a certain number of days, weeks or months to customize Salesforce, we have to tell you that it's not how project duration estimation works. To estimate how long it will take in your case, we'd need way more information about your solution than, well, the fact that you have one or want one. But the short answer is, it can be anywhere from eight hours to eight-plus months.
"Great. Now what?"
After taking a look at the technical aspects of Salesforce customization, you should try to map all related Salesforce knowledge with the expertise of your team. Then, you can start thoroughly formulating your customization needs (after interviewing your Salesforce users), prioritizing features, apps, custom reports or whatever customizations you may need, outlining a customization plan and actually getting down to work.
If you see that your current hands-on Salesforce customization experience may not be enough to undertake the customization project all on your own, no worries. As a certified Salesforce partner, our team has the technical savvy and the expert tricks up our sleeves to upgrade your Salesforce solution to work harder on your behalf. Drop us a line to find out how we can make it happen.