Salesforce integration is one of the top asks from Skilljar’s customers. Since Skilljar’s training platform (aka learning management system) accelerates product onboarding and customer success, it makes total sense for our customers to combine Skilljar training and certification data with the Salesforce CRM.
We began working on a native Salesforce integration earlier in 2015. At the time, we were loosely familiar with Salesforce as a sales tool, and for implementing Single Sign On via SAML (reusing Salesforce credentials to log into Skilljar). But otherwise, we had very little background on the Salesforce ecosystem or the AppExchange.
Because we were new to the Salesforce ecosystem, we’ve found the ISV approval process to be very challenging to navigate. This post summarizes our lessons learned.
Lesson 1. It takes a long time
We first talked to our ISV partner account manager in July 2015. At that point we were nearly code complete on our Salesforce app. Our account manager set expectations that the approval process can take 6-12 months from kickoff, which we have found to be true. After several rounds of business and preliminary technical review, we were able to sign our ISV contract in November 2015. We are still waiting for final security review, and we have heard that 60% of applications fail on the first pass.
Startups rarely have the luxury of waiting 6-12 months to launch a product. If your primary distribution strategy is through the AppExchange, make sure to plan your timeline accordingly.
The diagram below summarizes the process. As you can see, it is complex and uses quite a lot of Salesforce internal lingo.
Lesson 2. There are alternate ways to distribute your app
In the beginning, we thought that the AppExchange was required for us to become an ISV partner and launch a Salesforce app. As it turns out, you can provide installation links to your customers, without being officially approved by Salesforce. You won’t be listed on AppExchange, and you don’t have much control around licensing, but for urgent customer needs it is definitely an option to consider while waiting for approval in parallel.
You can also provide a sandbox (beta) version of your AppExchange app. This can only be installed in Salesforce sandbox environments. Unfortunately, Salesforce’s developer edition does not come with a sandbox, and it’s only available as a paid add-on with the Enterprise Edition. Although you get two free Enterprise licenses once you become a partner, there is no option to get a courtesy sandbox in the meantime.
This becomes a chicken and egg problem – without an Enterprise license, we couldn’t test our application, and we couldn’t get the Enterprise licenses until we became a partner. So, we had to spend $900 for an annual prepaid contract in order to test the sandbox. Also, the developer sandbox is charged as a percentage of your licenses rather than a flat fee, so if you have several seats, this can get pricey quickly.
Lesson 3. Become friendly with your ISV manager
Salesforce has ISV partner account managers who can help you navigate the process. Their job is to evangelize your application internally within Salesforce and to help you get through approvals. Our account manager for the Pacific Northwest has been very helpful in shepherding us through the complexity.
The account managers do oversee dozens of partners and have quotas based on the AppExchange rev share (25%), so the more revenue you can potentially bring in, the more incentive they’ll have to prioritize your requests.
There is a Salesforce for Startups program, but we have not found it to be helpful in becoming an ISV partner. The program’s focus appears to be on helping startups use Salesforce’s developer ecosystem tools and to promote usage of Salesforce’s own products.
Lesson 4. The process and terminology is convoluted
Salesforce has unique terminology and extensive documentation - almost too much. There are multiple versions of documentation available on different Salesforce community sites, and sometimes these conflict. As part of the process, they will ask you for detailed company information including your capitalization table, business license, certifications of incorporation, and the biographies of your entire engineering team.
One of the most confusing concepts for us has been organizations and editions. In the diagram above, you can see at least five different “organizations” just for the partner program.
Another example of a confusing experience has been logins. Our partner login was apparently expired and purged sometime between the time we first signed up for the Partner Community and getting our ISV contract approved. As a result, we were unable to login to the Partner Community where virtually all of the partner resources and operations are managed. It has taken us 3 weeks to even diagnose this far with Salesforce. There is very little help available other than filing a case, which also requires to be logged into Salesforce. The problem is common enough that there’s even an entire page dedicated to logging in: p.force.com/signup
Despite challenges along the way, we’re excited to finally be approved as a Salesforce ISV partner. The AppExchange will enable us to manage trials, licenses, upgrades, and orders much more effectively than our existing download and installation process. Most importantly, we look forward to helping our customers use their Skilljar training and certification data more effectively and seamlessly with their existing dashboards and workflows. A big thank you to our customers who have been providing us with feedback and trialing the app thus far!