Salesforce Custom App: Development Strategies & What to Consider
So, you’ve decided to build a custom app in Salesforce. Before you get started, there are a few important aspects to consider.
As with any development initiative, effective project management from the onset is essential to success.
What is a custom app in Salesforce?
A custom Salesforce app includes a label, description and an ordered list of items or tabs that work together to solve a specific business problem.
Why should you build a custom Salesforce App?
Building a custom salesforce app can make sense for your business if it is:
- cost-effective (versus purchasing one from AppExchange),
- integrates seamlessly with existing apps you already use,
- has multiple uses and covers cross-department needs,
- provides the ability to further customize in the future.
In our work with clients, we’ve identified some key considerations that are critical for the planning and design phase when considering the development of your own custom Salesforce app.
Developing a Custom Salesforce App, Things to Consider:
- Have a critical ear when gathering requirements
- Check for pre-existing solutions
- Carefully consider visibility, security and searchability
- Make sure your app will integrate with existing systems
- Ensure data integrity & prevent dirty data
- Keep the custom app simple
1. Have a critical ear when gathering requirements
As you begin this process, it’s important to define the end results you want vs. duplicating your existing processes.
How to define end results when developing a custom app in Salesforce:
- Keep an open mind to proposing new ways to get to the same result: business processes may need to be changed to get the desired results in a custom app.
- While Salesforce is a powerful tool, not everything is done best on this platform. If a functional process gets overly complex to design, it may be a sign to leverage another tool and integrate it with Salesforce – e.g., complex commission calculations may need to stay in Excel or be handled by another tool or app.
- Reporting requirements need to be addressed in the design phase instead of being treated as an afterthought: these can drive decisions around field data types and object relationships.
2. Check for pre-existing solutions
During the design phase, it’s important to evaluate your existing Salesforce configuration and possible AppExchange solutions.
Questions to ask when evaluating pre-existing solutions for your custom Salesforce app:
- Are there existing apps or objects that can be leveraged to minimize customization? If so, are there Apex or Visualforce scripts associated with these objects? Be sure you take into account the complexity of updates or code changes.
- Is there a pre-built AppExchange app that performs the same task?
- Look for pre-built Lightning Components to enhance your Lightning app.
3. Carefully consider visibility, security and searchability
Data security should be at the forefront when designing the data model for your app.
How to consider data security as it relates to your custom Salesforce app:
- Development of a custom app requires careful consideration of object-level security (CRUD), field-level security (FLS) and record-level security. This is particularly important when external users will be using the app through a Community.
- Master-Detail relationships dictate that users, including Community users who can see the master records, also have access to the detail records; lookup relationships allow more control over the visibility of the related records.
- User-based access should be tested thoroughly before moving the custom app to production.
- Include profile-based testing of reports and dashboards, since they can display different results to different users, depending on field, object and record-level security.
- Consider adding tabs for objects that need to be searchable, even if you do not plan to include the tab in the app’s navigation; only custom objects with their own tabs are included in search results.
4. Make sure your app will integrate with existing systems
Custom apps do not live in a vacuum. Changes you make could have downstream impact, especially if you are incorporating standard objects and/or integrating with other business systems.
How to ensure your custom Salesforce app will integrate with other systems:
- If re-purposing standard objects, leverage existing fields where possible; you can add picklist values to picklist fields and only assign them to a specific record type. Warning: don’t hijack field help or other field-level attributes on standard objects. For example, making an existing field required can easily break Apex test classes, so consider making it required on the page layout instead.
- If your app uses standard objects such as Accounts and Contacts, you might need to create new record types and layouts to differentiate new types of Accounts and Contacts pertinent to your app. Existing reports may need to be updated to include filters based on record type or other conditions.
- Review existing triggers, validation rules, processes and workflows on re-purposed objects; you may need to add a condition based on record type.
- Remember to follow your organization’s naming styles and conventions.
- For integrations, consider whether the data from an external system needs to be stored in Salesforce, versus queried in real-time– e.g., Salesforce Connect can be used to get real-time data from external objects and report on it, without storing that data in Salesforce.
5. Ensure data integrity and prevent dirty data
Salesforce provides numerous ways for app designers to enforce data integrity. Taking advantage of these will help drive the adoption of your app.
How to prevent gathering bad data when developing your custom Salesforce app:
- Validation rules, default values and workflow field updates can improve the usability of the app, while contributing to cleaner and more actionable data.
- Matching Rules and Duplicate Rules can help prevent duplicate records.
- Use unique External ID fields when integrating with external systems
6. Keep the custom app simple
Resist the temptation to add every bell and whistle and catch every conceivable corner case; this not only takes more time, but the results can make maintenance much more difficult in the long run.
Final Thoughts on Developing a Custom Salesforce App
Building a custom app in Salesforce can greatly enhance the benefits your company gains from Salesforce and automate processes that are unique to your business.
Spending the time upfront in the planning and design phase and following the guidance we’ve provided will help ensure that your implementation goes smoothly.
Need Salesforce Integration Support?
Enlisting a Salesforce consultant from Bridgepoint Consulting can help set your organization up for success. We are a Texas-based leader in delivering cloud-based solutions and employ a team of Salesforce certified experts who can assess your Salesforce needs and help you tap into the true value of your investment.