Let’s put an app on AppSource, the 2025 Edition

It’s been 4 years since I did the original series on putting an app on AppSource. I decided to put the Color Coding functionality on AppSource, and I’m inviting you to join me in the process of getting this app on AppSource.

https://youtu.be/j7v8__IPRt8


In this video, Erik walks through the complete process of publishing a Business Central extension to Microsoft AppSource in 2025. Using his “Color Coded Journals” app as a real-world example, he demonstrates every step from creating the offer in Partner Center to submitting for automated validation — showing what’s changed (and what hasn’t) since his original series on the topic.

Background: Why This App?

Erik previously built a color-coding feature for Business Central journals on his channel. After finding himself needing it in a real production scenario — matching entries across multiple journals and an Excel sheet — he decided to package it up as a free AppSource app that anyone could install and benefit from.

Prerequisites

Before diving in, it’s worth noting that Erik is already a registered publisher on AppSource with existing apps. The process of becoming a publisher for the first time involves additional steps not covered in this walkthrough. The starting point here is Microsoft Partner Center, specifically the Marketplace Offers section.

Step 1: Creating the Offer

The first step is creating a new Dynamics 365 Business Central app offer in Partner Center. You provide:

  • Alias: An internal reference name (e.g., “Color Coded Journals”) — this is not shown to customers and is only used within Partner Center
  • App type: Choose between Add-on (an AL extension installed into BC) or Connect app (an external application connecting to BC via web services). In this case, it’s an add-on extension.
  • Sell through Microsoft: Whether to use Microsoft’s transact capabilities — not needed for a free app
  • Customer interaction model: Three options are available:
    • Get it now (free): For free apps — what Erik chose
    • Free trial: For apps with a monetization model
    • Contact me: Erik’s least favorite — “you’re in the marketplace, but you’re not really in the marketplace”

Step 2: Customer Leads Configuration

Whenever someone installs your app from AppSource, the publisher receives a notification through a connected CRM system. Partner Center supports several options:

  • Azure Table
  • Salesforce
  • Marketo
  • HTTPS endpoint (webhook)

Erik uses an Azure Table backed by a custom pipeline that monitors for new leads and sends email notifications.

Step 3: Properties — Categories, Version, and Terms

On the Properties page, you configure:

  • Categories: These map to the category filters on AppSource. Erik selected “Finance > Accounting.” Choose categories that genuinely match your app — don’t overreach.
  • App version: Upload the app file (Erik’s was version 1.0.3). This can later be connected to a build system for automated pushes.
  • Terms and conditions: Required. If you don’t have these ready, you’ll need to write them before you can proceed.

Step 4: Offer Listing — The Big One

This is the most content-heavy section, where you define everything that appears in the marketplace listing:

Name and Description

The listing name is separate from the internal alias. Erik used “Color Coded Journals” with a search result summary like “Color code your journals to make sense of your data.” The description was drafted with help from ChatGPT — though Erik acknowledges this should be refined.

An important but easily overlooked requirement: Microsoft expects you to include in the description which BC editions (Essential/Premium) and which countries and languages your app supports.

Search Keywords

Add relevant keywords to help users discover your app — Erik used terms like “color,” “coding,” and “classifying.”

Links and Contacts

  • Help link: A URL pointing to documentation for your app
  • Privacy policy link: Required
  • Support contact: Visible to partners in the listing’s support tab — name, email, phone, and a support URL
  • Engineering contact: Used by Microsoft for certification issues — not publicly listed

Media Assets

You need to prepare several assets:

  • Logo: PNG, 350×350 pixels (Microsoft will rescale as needed)
  • Screenshots: PNG files at exactly 1280×720 pixels. Each screenshot requires a caption. Erik provided three: one showing the color-coded general journal, one showing the menu, and one showing color-coded posted entries.
  • Videos (optional): Must be a valid full YouTube URL (not the shortened youtu.be format). Each video also requires a PNG thumbnail at the correct dimensions.

Step 5: Availability

Select which markets your app is available in. Business Central is sold in 156 markets, and Erik made his app available in all of them. There’s also an option to set up a preview audience with access keys for pre-release testing, which wasn’t needed here.

Step 6: Technical Configuration

This is where you upload your actual .app file. If your extension consists of multiple app files (a main app plus library apps), you upload the libraries here as well.

What Makes an App Ready for AppSource?

Erik briefly reviewed the key technical requirements:

  • Object ID range: Your app must use the registered object number range assigned to your publisher
  • AppSource Cop: The AppSource code analyzer must be enabled in your VS Code settings
  • AppSource Cop configuration: An appsourcecop.json file specifying required affixes for object names
  • Proper naming: All objects should use the required suffix/prefix
  • Permission sets: Your app should include appropriate permission set definitions
  • Code signing: The .app file must be signed with a code signing certificate
  • Application version: The app.json should specify the minimum BC version (e.g., version 26 and up)

Step 7: Supplemental Content

This section requires:

  • Edition compatibility: Specify whether the app works on Essential, Premium, or both
  • Key usage scenarios document: A Word or PDF document describing the app’s primary use cases — required even if brief
  • Test accounts: Technically listed as a field, but Microsoft no longer manually tests apps
  • Test automation app: Listed as required (with an asterisk), but Erik notes it often isn’t enforced. Microsoft’s automated validation installs your app against all specified BC versions and country localizations to verify it compiles — no one actually runs the app.

Step 8: Review and Publish

Once all sections are complete, you submit for review. The publishing pipeline has five stages:

  1. Automated validation: Microsoft installs your app on every version of BC you’ve specified (version 26+) across all country-specific base app variants (around 20+ different versions). They verify it compiles on each one. This can take anywhere from 20 minutes to two days.
  2. Preview generation: A preview of your AppSource listing is created, and you receive a link to review it.
  3. Go Live (publisher action required): You must explicitly click “Go Live” to proceed — this is a deliberate checkpoint.
  4. Certification: For new apps, a human reviews your listing to ensure there’s nothing inappropriate (political manifestos, profanities, etc.). For updates that don’t change the offer listing, this step is automatically approved.
  5. Final publish: The app becomes available on AppSource. For updates to existing apps, this is when the update appears in the Business Central Admin Center.

A Practical Tip on Validation

Erik offers pragmatic advice: don’t spend excessive time building elaborate local test setups for every country localization. Microsoft’s automated validation will test your app against all of them. If it fails on, say, the Belgian version, they’ll tell you and you can fix it. Take advantage of their infrastructure rather than trying to replicate it.

Bonus: The App Itself

Beyond simple color coding of journal lines, Erik added some fun extras — emoji markers for journal entries including thumbs up, thumbs down, a heart, a unicorn, and (naturally) the pile of poop icon, “because sometimes an entry is just that.”

Summary

Publishing a Business Central app to AppSource in 2025 involves filling out a series of structured forms in Partner Center covering offer details, listing content, media assets, availability, technical configuration, and supplemental documentation. While the process hasn’t changed drastically from earlier years, some requirements have been relaxed — for better or worse, as Erik notes, given that there are now over 7,000 apps on AppSource. The key technical requirements remain: proper object ID ranges, AppSource Cop compliance, code signing, and correct version targeting. Once submitted, Microsoft’s automated pipeline handles validation across all supported BC versions and localizations, with human review reserved primarily for new listings.