What’s trending
UPCOMING EVENTS
Hidden Pitfalls You Should Beware of When Publishing Your AppExchange App
By Dorian Sabitov
It’s safe to assume that almost everyone uses the Apple App Store or Google Play Market, depending on the system your phone works on. But how about business automation: is there some marketplace where you can find a solution that suits your needs? The answer is yes.
So if the App Store sounds familiar to you, you should know that the name of the Apple marketplace was initially the name of the AppExchange, which was gifted to Steve Jobs by Marc Benioff in 2008. Cool right?
The Salesforce AppExchange Structure

At its core, the AppExchange is Salesforce’s offering to the world – a platform where users can effortlessly discover, download, and integrate tons of apps and services. But it’s more than just a static marketplace; it’s a dynamic hub, continually evolving, designed to cater to the unique needs of its users.
Collections
One of the standout features of AppExchange is its thoughtful categorization. Instead of aimlessly wandering through a vast digital store, users are guided through ‘collections’. These are curated sections that cluster together apps and services by function, industry, or purpose: from specific apps for the manufacturing industry to ERP or Analytics Apps, enabling very specific functions in your Salesforce org.
The Vendors
A myriad of software vendors, each with their unique flair and expertise, populate the AppExchange. From niche solutions catering to particular needs to broad-spectrum applications designed for enterprise-level operations, these vendors bring a diverse range of offerings to the table. It’s not just about software either – many also provide consulting services, ensuring that businesses don’t just get an app, but a full-fledged solution.
Note: Salesforce AppExchange, the world’s leading enterprise cloud marketplace for apps and experts, has been recognized as a Leader in The Forrester New Wave, according to the Marketplaces For SaaS Sourcing, Q4 2023 analyst report.
The Bottom Line
Exploring the Salesforce AppExchange isn’t just a shopping trip – it’s a journey. It provides not just apps and services but also a sneak peek into the remarkable innovation and potential within the Salesforce community.
Basic Steps to Take to Publish an App on AppExchange
While browsing the AppExchange, you suddenly get a great app idea. Nice! But, what steps should you take before launching it? Below you won’t find a guide on how to publish your package on AppExchange, or step-by-step instructions. Instead, it’s a collection of personal notes from my journey as a Salesforce App Developer. Here you can find points on which you should focus your attention and also those which are better to avoid.
Initial Steps
Salesforce uses packaging to have the possibility to group different Salesforce elements for deploying or distribution. But what does a “Salesforce package” mean?
A package it’s something like a container or box where you can put different things inside, like metadata, LWCs, or apps, etc. After you ‘package’ them together, you receive a link, with an application that can auto-install in your Salesforce org.
Complete the Salesforce Partnership Agreement
To publish an app on the AppExchange, you’ll start by signing a partnership agreement with Salesforce. This agreement outlines the terms and conditions that govern your relationship as an app publisher. You can find out more about the Salesforce Partner Program here.
Choose Your Magic Box
Before you start your project, you should define for yourself the main purpose of the app: are you interested in creating a business app for Salesforce customers? Managed packages are the go-to tools for Salesforce partners to craft and distribute their apps through AppExchange. With these packages, you can effortlessly distribute, license, test features, resolve issues, and earn from your plugins.
On the opposite side, Salesforce also has unmanaged packages. To imagine an unmanaged package, you can visualize it as a clear box or container with its contents easily seen. This type of package is free and its code inside is accessible, making component transfers between any Salesforce organizations straightforward. But there’s a tricky moment: when a newer version arrives, you can’t simply upgrade the existing package. Instead, a fresh installation in the new environment may be necessary.
If you are building an app for internal use inside your company or for yourself, use unlocked packages. unlocked packages in Salesforce are all about flexibility; you can change them directly in production, especially if you have some emergency change requests. But there is also one tricky moment: unlocked packages are developer-controlled. This means that if you install a new version, it overwrites all the changes made directly in the Production Org. Communication between different teams, admins and devs in this case, is very important, each team should know about the changes in order to update the package appropriately.

In general, for publishing on AppExchange users can use only managed packages, and Salesforce recommends using managed 2GP (second generation managed packaging) to create a package.
Preparation Steps
So, you need a managed package to publish an app on Salesforce AppExchange, and you should have the minimum to move forward:
- A brilliant idea for the app.
- A developer, admin, architect, or someone who knows Salesforce well enough to make one.
Salesforce also tells us to check before developing a new app, and you can do that via:
- Dev Hub (find out how to check and enable it here).
- 2GP in your org (find out how to check and enable it here).
- Salesforce CLI (find out how to install it here).
- Namespace for 2GP packages (find out how to create and register them here).
Pitfalls You Might Encounter
In the Dev Hub
- You don’t have the possibility to enable Dev Hub in the Salesforce Sandbox. If you choose a trial or a Dev Org as Dev Hub, you should pay attention to the fact that you have the capability to generate a total of six Scratch Orgs and package versions each day. However, please note that you can only have three Scratch Orgs active at any given time.
- Trial orgs have a set expiration date. Once this date arrives, the trial org will automatically become inactive, and users will lose access to its features and content.
- Developer Edition orgs may become inactive and eventually expire if they are not actively used over a period of time.
- You can establish a namespace in a Developer Edition org separate from your Dev Hub. Additionally, you have the option to activate Dev Hub in a Developer Edition org that lacks a namespace.
- When setting up package versions or running continuous integration, using your Partner Business Organization as the Dev Hub is recommended because of its higher limits. Remember, package versions are tied to your Dev Hub. If a trial or Developer Edition org expires, you’ll lose those versions.
In Development
It kind of goes without saying, but bringing your idea into the world through code can be tricky! It requires a lot, time, effort, patience, and hands on board.
During Testing & QA
Thorough testing and quality assurance are essential to ensure that your app functions as intended and meets customer expectations. This includes testing functionality, performance, and usability under various scenarios and across different devices.
Setting Up & Generating Your Package
Salesforce recommends a workflow with Salesforce CLI, to generate a 2GMP, second generation managed package, and you can check it out here. Package versions remain in a beta stage until you advance them to a managed-release status.
Releasing Your Solution on the AppExchange
Some may think that the hardest part in our journey to get listed on AppExchange is to develop an app, but I can tell you that the before and after preparation steps are arguably more difficult – but with good reason!
How to Get Approved on the AppExchange
There are a few steps to get things done:
Step 1: Connect Your Dev Hub or Packaging Org to the Partner Console
Wondering how to connect your Dev Hub or Packaging org to the Partner Console? Here are a few steps to make it in the right way and fast:
- Log in to your profile in the Salesforce Partner Community.
- Select Publishing, then the Technologies tab, find the Orgs tab, and select Connect Technology Org.
- Now, you need to select and click Org, then click Connect.
- For the package you want to list on the AppExchange, you need to provide login credentials of the org that contains a package.
You can find packages from connected org on the Solutions Tab of Partner Console. You can also can submit an app for security review from this tab. The source and more info can be found here.
Step 2: Create or Edit Your Provider Profile
If you don’t have a Provider Profile yet, create or add information in the Provider Details section. It will help customers to know better about your company and the solutions that the company provides.
Full details including a step-by-step can be found here.
Step 3: Create or Edit Your AppExchange Listing
All kinds of solutions in AppExchange are categorized. Before you get listed on the AppExchange, you need to select what kind of listing it should be. To get things done it’s enough to select the Listings tab from your Partner Console and select which kind of listing should be presented with your package.
There are three different types of listings: Packaged Solutions, APIs, and Consultant listings.
Source info and more details can be found here.
Step 4: Select the Business Needs for Your Solution
When setting up your solution on Salesforce’s AppExchange, you have to categorize it by selecting up to three business needs. These categories are essential as they describe the functionality of your solution or the specific challenges it resolves.
Understanding how your solution matches the business needs of customers is crucial because it helps to reduce time spent searching for the right app for the customer.
Tips and tricks on how to select the right business needs for your app may be found here.
Step 5: Make Your AppExchange Listing Effective
Every owner of an App published on AppExchange would like his App to be effective and noticeable on the market. To achieve this there are a few insights to be done in the section with info and details about the solution:
- Provide relevant use cases.
- Add videos, screenshots, and demos. Prospective users like seeing the solution in action.
- Make info about the solution easy to read and understand.
For more information, check out this resource here.
Step 6: Understanding AppExchange Listing Approvals
After completing the Fill in the Basics and Price Your Solution sections you can submit your listing for approval. Here, Salesforce will check if it complies with guidelines and partner program policies.
After your solution is approved you have to sign a Partner Application Distribution Agreement (PADA). In case you need to edit something, you can also resubmit for approval after. Sometimes listings are not approved for the first try, but fear not; fix all issues and try to resubmit for approval again.
Step 7: Select an Installation Method
Simple is always best. That means that we always search for ways to make things ease. Select a mode you prefer to make an installation process for your customer faster and simpler.
The source info and details on how you can do this can be found here.
Step 8: Register Your Package and Choose the Licence Settings
It’s obvious that you would like to know who installed your app and for how long, right? To achieve that, you should register your package and set up the Licence Management App (LMA).
It’s simple: from the Partner Console click Technologies, and then Solutions. Decide which version of the package you want to register and select Register Package. After that, you have to move to the License Management org, log in, and edit the default license settings. Here you can choose what kind of license your solution is going to have: Free Trial or Active. Also, you have to select how your license is applied per seat or site-wide.
For more information, check out this resource here.
Source 9: Complete the Security Review Cycle
Each solution to be listed on AppExchange must pass a security review. Security Review Wizard will help you to manage your reviews. You can find it in your Partner Console.
Passing the Security Review
Before your product can be listed on AppExchange, you must submit your package for a comprehensive security review conducted by the Salesforce security team. This thorough process typically takes four to six weeks. It’s designed to provide assurance to AppExchange customers that their data is in safe hands.

It’s important to know that each managed package that you intend to publish on the AppExchange is required to undergo a security review.
Salesforce applies a security review fee for freemium, paid, and paid add-on solutions to help offset the expenses. However, this fee is exempt for free solutions.
The security review fee for your solution is determined by its pricing model, and here’s how Salesforce categorizes these models:
- Free: Your solution is accessible to customers at no cost, offering complimentary usage.
- Freemium: Customers can access a portion of your solution for free but need to make payments to expand usage, add users, or unlock additional features within the solution.
- Paid: Customers are required to make a purchase before they can utilize your solution.
- Paid Add-On Required: To make your solution operational, customers must pay for an external product or service that is separate from Salesforce.
If your solution is not free, you will be required to pay for the security review according to the AppExchange Security Review Fee:
- Initial Security Review: $999
- Resubmission After Addressing Detected Issues from a Previous Security Review: $999
- Listing a New Version of a Solution that was Previously Approved: No charge
- Periodic Re-Review of a Solution That Was Previously Approved: $999
The Security Review team tests and operates on a strict timeline. If they discover an issue, they’ll immediately pause the review, and further checks will not be conducted. So, a failed review may not uncover all the issues, and more may continue on the next reviews.
Once you’ve received security approval from Salesforce, you’re all set to proceed with the publication of your app on Salesforce AppExchange.
Points to Consider Before the Security Review
Registration as a Salesforce ISV Partner
- The process of ISV Registration can be time-consuming, often taking several weeks or even longer.
- Prepare and complete the business plan, also you need to prove that it is profitable.
- Create a robust business plan and demonstrate its profitability.
Testing & Preparation
- Test and review, and then review one more time. If you test by yourself, invite QA as different points of view are always better.
- Also test, scan, and review external services.
- Do not forget to update technical documentation.
Release
- Generate the app listing.
- Set up a demo environment.
- Initiate the security review process.
- Make the necessary payment.
Points to Consider for After the Security Review
Feedback
- Wait for feedback.
- If there are any issues, fix your code.
- Prepare and release a new version.
- Re-submit for review.
Steps to Follow After Releasing Your App
So, you’ve prepared and developed your app, passed all security reviews, and released a few versions of the app, so what goes next? Getting from release to the first hundred downloads could take a lot of time – weeks, months, even years. Why does it happen? Because of similar solutions, business requirements, paid or free versions, support, etc. So, how can we avoid that?
- Analyze the market on the categories, where you’d like to publish your app on.
- Before launching the app as the paid version, try to release a free demo. Receive feedback from users, reviews, and comments.
- Upgrade, patch, and produce new versions based on feedback. Iterate.
- Launch a marketing campaign to boost your app’s visibility and popularity.
Remember one thing: your product will never suit every user 100%, because of minor details for each case and company. That being said, your solution should be good for thousands of users.
Be sure to focus on average requirements in the business section your app is produced for.
Summary
After you decide to publish your solution on the Salesforce AppExchange, there are a lot of steps to pass before you become a happy owner of a Salesforce app. Salesforce offers a range of resources and tools, making it easier for you to bring your app idea to life on the AppExchange.
These tools, orgs, and communities provide support and knowledge at every stage of your journey as an AppExchange developer. Furthermore, the responsibility for bringing a great app idea to the table ultimately falls on your shoulders. I hope this article with its provided insights helps you to transform your concept into a reality within Salesforce. Don’t be afraid of pitfalls and have fun in the process of developing and publishing your app on the AppExchange. Good luck!
The Author
Dorian Sabitov
Dorian is a 5x certified Salesforce Administrator, Developer, and Consultant with a passion for the Salesforce ecosystem and products. He shares his hands-on experience with Salesforce with the readers of the SFApps portal.
More like this:
