topic hubAL Developmentofficial - Microsoftreviewed - checked by Opus

Extensibility

Extensibility in Business Central AL development: how to extend code flow, tables, pages, reports, enums, and permission sets without changing base code. It also covers events, requesting changes to Microsoft's code, client add-ins, Power BI embedding, and System Application modules.

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

Overview

Extensibility is the section for AL developers who need to change or add to Business Central behavior without modifying base code. The overview page lists the options: extending code flow through events, adding table fields, modifying page layout, extending reports, creating permission sets, and extending enumerations. The extension objects overview explains how table, page, report, enum, and permission set extension objects add fields, actions, layout, and values to existing objects.

The subtopics go deeper. Extending AL objects covers page, table, report, enum, and permission set extensions, plus event types and application areas. Extending the base application is the largest subtopic, with 15 pages. Using events covers event types, publishing, raising, subscribing, isolated events, the Event Recorder, deprecating external business events, UI notifications, and a workflow events walkthrough. Extensibility requests explains how to ask Microsoft for changes to the AL codebase through the BCApps repository. It covers designing and justifying new events, including IsHandled events, and contributing a change directly. Developing client add-ins covers performance and styling of control add-ins. Embedding Power BI covers putting Power BI reports, scorecards, and dashboards on Business Central pages.

Start with the Extensibility overview, then the extension objects overview. Move to Using events when you need to hook into existing logic. Use Get started with modules if you want to build or change System Application modules in the open-source repository.

Key points

  • Extension objects: table, page, report, enum, and permission set extensions add fields, actions, layout, and values to existing objects.
  • Code flow is extended through events. The Using events subtopic covers publishing, raising, subscribing, isolated events, and the Event Recorder for finding events.
  • Extensibility requests describes how to ask Microsoft for changes to the AL codebase through the BCApps repository. It covers how to justify new events, including IsHandled events, and how to contribute a change directly.
  • Get started with modules covers System Application module development: AL requirements, Git, environment setup, and building or modifying modules.
  • Client add-in guidance covers performance (AL trigger invocation, callbacks, payload size) and styling (colors, typography, CSS).
  • Embedding Power BI covers embedding reports, scorecards, and dashboards in pages, including the embed framework and context handling.
  • The extension objects overview covers the Extensible property, and Extending AL objects also covers application areas.

Subtopics

More Learn pages

Videos, posts and code changes

Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.

Business Central pages and reports

The pages, reports and queries this hub’s Learn pages name (ms.search.form, API reference), joined to the code by exact object id (data/index/docs-objects.json); a page shows the table it runs on.

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

What Learn documents here 8 of 42 Learn pages

Show 32 more