topic hubAL Developmentofficial - Microsoftreviewed - checked by Opus

Extensibility requests

Extensibility requests in Business Central: how to ask Microsoft for changes to the AL codebase through the BCApps repository, how to design and justify new events (including IsHandled events), and how to contribute a change directly. It answers questions about request guidelines, event types, and the IsHandled pattern.

Path: Development > Extensibility > Extensibility requests · tier official · system development · narrative reviewed (checked by Opus)

Overview

This section is for AL developers who need a change in Business Central’s base code, such as a new event or other code improvement. It explains two routes: submit an extensibility request to the BCApps repository, or contribute the change yourself to the BCApps and BusinessCentralApps repositories.

The pages build on each other. “Create an extensibility request” gives the submission guidelines and event design guidance. “Types of events for extensibility” describes the event kinds and ranks them by quality, so you can pick the right one. “Using the IsHandled pattern” explains why that pattern is widely used but has drawbacks and what to use instead. “Minimum requirements for new IsHandled events” lists the information and checklist you need if you still request one.

Start with “Create an extensibility request” and “Types of events for extensibility”. Read “Contribute a change yourself” if you would rather make the change than wait for one.

Key points

  • Extensibility requests are submitted to Microsoft’s BCApps repository to ask for code changes, new events, or other improvements to the AL codebase.
  • You can instead contribute changes directly to the BCApps and BusinessCentralApps repositories.
  • Event types covered: business events, OnBefore/OnAfter, verify, isolated, switch, skip, and handled events, with quality rankings and usage guidance.
  • The IsHandled pattern allows overriding code but has drawbacks: only a single subscriber, poor readability, and fragile solutions.
  • Recommended alternatives to IsHandled: proper extensibility, regular events, the OnSkip pattern, or reimplementing the functionality.
  • New IsHandled event requests need minimum information, a submission checklist, and an example structure.
  • Requests for IsHandled events should address alternative evaluation, performance considerations, and a data sensitivity review.
  • Request guidelines also touch on integration events, event design, manual binding, and temporary tables.

Learn pages

Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.

What Learn documents here 5 Learn pages