Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
Branch: master
Clone or download
Latest commit 1e16831 Feb 13, 2019

Announcement: Endgame for the Spring Release

Just a little heads up. For the next few weeks you’ll notice a slow-down, if not complete stops, in our activity here. As much as we’re enjoying our engagements, we’re entering the endgame for the Spring ’19 release and we need to focus on finishing up the exciting things we’re doing there. In the meantime, keep the requests coming, but please be patient with us for the next few weeks. We’ll be back!

Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central

Welcome to the ALAppExtension repository!

This repo is a platform for Microsoft and our vibrant partner channel and community to work together to develop apps in the AL language and enable the general extensibility of Microsoft Dynamics 365 Business Central.

We’re working to make the core application thinner, more extensible, and easier to localize by extracting more and more of our application business logic into add-on and localization apps. As we go, we’ll publish the source code for the apps in this repo. The apps are open for contributions and can serve as starting point for verticalizations or just as samples for developing apps.

Microsoft will publish the contributions to the code in this repo on AppSource, and they’ll ship in upcoming releases of Microsoft Dynamics 365 Business Central, where you’ll get to enjoy the effect of your contributions.

Types of engagements

There are a couple of ways to engage with us here:

  • You can grab the code and contribute to the published apps. For more information, see the Contributing section below.
  • If you’re building your own app and need something specific from us, like an event, you can help improve the general extensibility of the business logic. For more information, see the Extensibility requests section below.

Extensibility requests

The following are the types of requests you can submit to unblock your app:

  • Add new integration events – Get the event you need to hook-in to a process.
  • Change function visibility – For example, make a public function external or a similar change so you can call it from your extension and reuse the business logic.
  • Replace Option with Enum – Replace a specific option with an enum that supports your extension. The new type enum is extensible, but all code was written for non-extensible options.
  • Extensibility enhancements – Request changes in the application code that will improve extensibility.

We’ll have a look at your request, and if we can we’ll implement it asap. If we can’t we’ll let you know and briefly explain why not. When that happens, don’t be discouraged. Go back to the drawing board, see if you can work it out, and then come back and submit another request.


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

See Also