Exploring Salesforce AppExchange
Launched in 2006, Salesforce AppExchange is a business cloud marketplace provided by Salesforce and is integrated within the Salesforce Lightning Platform. Access to AppExchange can be gained via a website hosted by Salesforce and also from within the Salesforce CRM application.
There is an expectation that app builders will be familiar with what is available on AppExchange and what the use cases are for choosing to install solutions in an org from AppExchange, as noted in the Salesforce Certified Platform App Builder Exam Guide:
Salesforce Fundamentals: "Identify common scenarios for extending an org using the AppExchange"
There are likely to be 1 or 2 questions in total. This is calculated as 8% of the 60 total exam questions, which is 4.8 or 5 questions and 3 features/functions in the Salesforce Fundamentals objective.
There is a variety of solutions and services that are available on AppExchange that serve to extend the core functionality and features within Salesforce.
Salesforce AppExchange can be accessed using the following URL: https://appexchange.salesforce.com/.
The solutions and services listed on AppExchange are provided by the Salesforce community of third-party developers and system integrators, as well as from Salesforce, and include Apps, Components, Bolt Solutions, Lightning Data, Flow Solutions, and Consultants, as shown in the following screenshot:
Solutions and services
At the time of writing, there are more than 5,000 solutions and at least 1,000 consulting services listed on the AppExchange marketplace.
Let's look at the types of solutions that are available on Salesforce AppExchange.
Apps contain prebuilt functionality that can be installed in your instance of Salesforce to extend the out-of-the-box features. An app contains items such as custom objects, tabs, code, components, and so on. Along with the listing for the app on AppExchange, there is a description of what it does, the items that it contains, and customer reviews.
In addition to the apps that are provided by the community of third-party developers and system integrators, many of the apps are provided by Salesforce through a team known as Force.com Labs. Apps are provided using various pricing models that are based on a price per user per month, a price per company per month, or are provided for free. In addition, some paid-for apps offer discounts for nonprofits.
Apps can range from highly complex, coded, feature-rich solutions with multiple screens to simple sets of dashboards or reports. Indeed, there are some instances where the full functionality of an app is not required and you just need a specific item of functionality to provide the solution, and this use case is where components can be used.
Components are elements that may not function by themselves and are instead used as building blocks to build the overall solution. As an example, you may find Lightning components that automatically update records across a variety of object types given a particular scenario or automatically preset values on a record Edit page prior to saving a record, which are not out-of-the-box features in the Salesforce CRM.
There are two types of components:
- Components that are general-purpose and used for processing business logic, merging records, kicking processes, and so on
- Web components, which are designed for customizing the Lightning Experience user interface
An alternative to installing a complete app or building a custom solution with separate Lightning components is to install prebuilt declarative solutions that are available from AppExchange, called a flow solution.
When building new flows, it is worth looking at AppExchange to check for existing flow solutions, which are often freely available, as it may not be appropriate to either re-invent the wheel and build or configure your own flow or install a less-flexible managed app package from AppExchange; this is where flow solutions can be used.
Flow solutions are prebuilt solutions that have been built by third-party developers and Salesforce to automate a business process, and there are two types of flow solutions:
- Flow Actions: These are standalone flows that perform a specified function and perform an action.
- Flow Templates: These are complete, end-to-end flow solutions that act as a starting point that you can save and customize to meet the business process requirements.
Another alternative to installing a complete app or building a custom solution is to work with a partner and install a prebuilt declarative solution that is available from AppExchange called a Bolt Solution.
Bolt Solutions are solutions that have been built by third-party developers and system integrators that Salesforce customers would work with to complete their installation. The partners help customers to install and customize the solution to suit their needs. Sometimes organizations are faced with a particular industry or business standard requirement, which must be flexible, where there are industry experts at hand who can provide a declarative solution and customization guidance. In this scenario, it may not be appropriate to either re-invent the wheel and build or configure your own solution or install a less-flexible managed app package from AppExchange, and this is where Bolt Solutions can be used.
In addition to functional extensions to the Salesforce CRM, you can also find solutions that provide data enhancements for your Salesforce instances, and these are known as Lightning Data.
Lightning Data can be considered as special types of apps that use the services of a data connector to pull in external data to enrich the data stored in your Salesforce CRM instance. The data connector is part of an engine, called the Lightning Data Engine, that automatically connects your Salesforce instance and the third-party system and associated data feed.
AppExchange also provides a listing of consultants that offer specialist Salesforce knowledge. Consultants are experts with proven Salesforce skills, able to provide guidance in various industry settings.
Installing an app from AppExchange
- Click on the Get It Now button.
- Select the location for the installation, where the options are to either Install in production or to Install in sandbox first!
- Examine the package details showing what you are installing and where you are installing it.
- Click on the checkbox labeled I have read and agree to the terms and conditions to confirm that you agree to proceed with the installation.
- Click on the Confirm and Install! button to continue to the Salesforce login screen.
- Log into the desired Salesforce org, ensuring that you log into your sandbox to test it before installing it in your Production org.
- Choose the option to either install for Admins Only, for All Users, or for Specific Profiles.
- Now click on the Install button.
- Finally, perform any post-installation configuration.
AppExchange best practices
- Clarify that the specification for the app meets the requirements and assess any reviews and comments.
- Take a test drive, if available.
- Review all the components that are included in the package and be aware of any security issues concerning links and session IDs.
- Test the app in a sandbox before deploying to production.
- Try to enlist business support to own and validate the app before deploying to production.
- Consider undertaking a pilot deployment for selected users if the app is particularly complex.
- Communicate the app to the business prior to deployment and activation in production.