AppSource
Maybe you know that there is a home for Microsoft Dynamics 365 Business Central apps. And it's called AppSource!
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
- The idea
- Required access and registration
- Apply for an object range
- Build the App
- Add self-monetization
- Create Landing page, help and introduction
- Submit your app
- 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:
- Learning Portal with 79 videos (and updating every month) describing different technical, functional and sales aspects https://mbspartner.microsoft.com/D365/Videos
- Ready to Goprogram, where certified partners can guide
- Official link http://aka.ms/ready2go
- Good blog from Waldo about that http://www.waldo.be/2018/06/25/are-you-ready-to-go/
- Web classes
- I prefer to learn remotely, so I founded AirApps.Academy for online coaching. Here you can find information about my web classes, and to register to the nearest http://bit.ly/beModernDeveloper.
- This is a good alternative for offline classes
- You get the same knowledge
- You learn 2 hours per day
- You learn 2 days per week
- You make homework offline with online support of a teacher
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:
- video guide: https://mbspartner.microsoft.com/D365/Videos/101829
- guide: https://mbspartner.microsoft.com/secure/coursematerials/D365/Standalone/Dynamics_365_Business_Central_App_Monetization_Demo_Guide.pdf
- code: https://mbspartner.microsoft.com/secure/coursematerials/D365/Standalone/AppMonetizationDemo.zip
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
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!
*This post is locked for comments