AppSource

Maybe you know that there is a home for Microsoft Dynamics 365 Business Central apps. And it's called AppSource!

https://appsource.microsoft.com/en-us/marketplace/apps?product=dynamics-365%3Bdynamics-365-business-central&page=1

Yes! You can just install the app in one click.

And you can publish your apps to AppSource. Yes, this process is not very easy and time-consuming. But if you pass all the steps you will open global market for yourself. There are a huge number of docs available, describing publishing process. I will not repeat all them in this blog. However, I want to summarize the steps you need to pass and provide needed links with more details.

The process

  1. The idea
  2. Required access and registration
  3. Apply for an object range
  4. Build the App
  5. Add self-monetization 
  6. Create Landing page, help and introduction
  7. Submit your app
  8. Support your app

Step 1. The idea

You should describe the idea of your app first here https://appsource.microsoft.com/en-us/partners/list-an-app

The result will be a letter from Microsoft to fill the Excel sheet with more details about your app

Step 2. Required access and registration 

You should be registered partner with MPN ID and PSBC Account number

Register for Partner network

https://partners.microsoft.com/PartnerProgram/simplifiedenrollment.aspx

The result is MPN ID

Register for PartnerSource Business Center

Request Partner Registration Agreement (PRA)

  • mbscon@microsoft.com : If you are based in Europe, the Middle East, or Africa.
  • mbsagree@microsoft.com : If you are based in the Americas.
  • mbslques@microsoft.com : If you are based in the Asia Pacific region.

The result is PSBC Account Number

Register for DevCenter Access

  • rweigel@microsoft.com  (Ryan Weigel)

The result is access to https://cloudpartner.azure.com

Register for your company Prefix 

  • d365val@microsoft.com

The result is 3 digit prefix for object naming registered for your company

More about what is Prefix and Suffix here https://docs.microsoft.com/en-gb/dynamics-nav/compliance/apptest-prefix-suffix 

Step 3. Get your object range

Fill Excel template (received after 1st Step)

Requires

  • MPN ID
  • PSBC Account No.
  • Name & e-mail of person completing the form
  •  Name of App
  • Productivity app or industry app
  • Planned release date
  • Release countries
  • No. of objects required (50/200/500)

Send back to Microsoft

Download your new NAV Dev license with 70M range from Partner Source

Step 4. Build your app (Technical checklist)

Now you can start to build your app (or convert your current IP to an app). This is the most interesting part =) You should deep dive into VSCode and AL Language, web services, wizards, notifications and all modern development staff. 

Here are some recommendations what should (recommended) to include in your app

SaaS friendly coding Mandatory
A tooltip for every field and action Mandatory
The correct value for Application Area Mandatory
Permission Set (s) Mandatory
Friendly notifications Recommended
Help web page (s) Mandatory
Help video (s) Recommended
Only VSCode created apps supported Mandatory
An app should be digitally signed Mandatory
Include Test package (should cover min 90% of app) Mandatory
Include upgrade code Mandatory
Include all translations of countries your extension is supporting Mandatory
Use Prefix or Suffix Mandatory

The full list of technical requirements you can find here https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-checklist-submission

P.S. Also, thanks to AJ, there is one validation process not described in this doc: a user must be able to open and run basic functionality WITHOUT any permissions for your app  

Improve your knowledge

If you are not familiar with AL and VSCode there are resources and courses available for you:

Of course, there is also official documentation https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-dev-overview 

And a huge amount of blogs from the most active community experts whom you can follow https://blogs.msdn.microsoft.com/freddyk/2018/04/09/whoareyoufollowing/ 

Ask questions directly to DevTeam

Every month Microsoft DevTeam (thanks to Freddy) organise AppSource Office Hours, where you can ask your questions directly to Business Central DevTeam https://aka.ms/AppSourceOfficeHours 

Step 5. Add self-monetization

If you want to monetize your app, so you need to build monetization engine your self. Ther is no (at least now) out-of-the-box AppSource support. However, there are some available materials and code samples how to include self-monetization in your app using Stripe service.

  • Sign up on http://stripe.com
    • Setup billing model
    • Purchase
    • Subscription
    • Usage
    • Trial
  •   Add code to integrate Stripe with your app

Available materials for you:

Step 6. Create marketing materials (Marketing checklist)

You should create marketing materials and online documentation for your app

  • Landing page
    • Highlight what the user will gain from using your App
  • Terms and conditions, Privacy
  • Installing
  • Setup and configuration
  • How it works
  • User Story
  • Uninstalling

The full list of marketing requirements you can find here https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/readiness/readiness-add-on-apps

Step 7. Submit your app

When everything is done you should publish your app for validation.

  • Go to Cloud Partner Portal https://cloudpartner.azure.com
  • Fill required info
  • Send to the approval process
  • Wait some time until Microsoft will check your app, through different validation tests
  • Microsoft will publish your app before next monthly update of Business Central.

Step 8. Support your app

When your app is published, you need to support it. Don't think that customers will install your app, play with it, and purchase it without your support. Not now, at least. Be ready to answer on their questions, to guide them, to help them.

So:

  • Organize support for your app
  • First 30 days should be free
  • Check who has installed your app
  • Be with your customer
  • Upgrade your app periodically
  • Every upgrade should go through validation process (Step 7)

Where to find inspiration?

Look at already published apps https://appsource.microsoft.com/en-us/marketplace/apps?product=dynamics-365%3Bdynamics-365-business-central&page=1  

Look at public available code from Gunnar Gestsson, who proceeded all the steps with his GLSourceNames app and described in detail every step with source code.

https://github.com/gunnargestsson/businesscentral/tree/GLSourceNames/AL

http://www.dynamics.is/?tag=appsource

https://youtu.be/gAzfw2lsTq0  

Now, what to do?

You have all the materials to start your journey to AppSource!

You should decide: do you need that or not? Nobody will decide for you, and nobody will make the first step for you.

We (community experts and Microsoft) and I personally, can only guide you (or make everything for you - that's also possible).  

Let's go!