Overview of the System Application

Note

Azure Active Directory is now Microsoft Entra ID. Learn more

The System Application contains modules that interact with the Dynamics 365 Business Central platform and online ecosystem to support the business logic in the Base Application. If you're developing extensions or add-ons for Dynamics 365 Business Central, you'll probably need to use one or more of the objects in the modules.

This article provides an overview of the modules in the System Application.

For an overview of system and application reference documentation, see System and Base Application Reference for Dynamics 365 Business Central.

Note

The modules in the System Application represent a significant change in what's happening under the hood in Dynamics 365 Business Central. We are aware that the changes we have made will introduce breaking changes, so we have made a list of those that we know about, which includes suggestions for solutions. To view the breaking changes list, see Breaking Changes.

We will continue to enhance the System Application in future releases. If you find something you think we should add, visit our Dynamics 365 Application Ideas page. If you want us to improve something, go to the BCApps repository and submit a pull request for it.

Overview of the modules in the System Application

The list of modules is growing continuously. The following table lists and describes the modules that are available now.

Module name Description Link to module
Advanced Settings The modules expose advanced settings page and related integration events. Link
AI Link
Auto Format This module provides methods for formatting the appearance of decimal data types in fields on tables, reports, and pages. Link
Azure AD Graph This module provides functionality for retrieving user and tenant information from Microsoft Entra. Link
Azure AD Licensing Provides a way to access information about the subscribed SKUs and the corresponding service plans. It uses two collections: one that stores the subscribed SKUs and the other that stores the corresponding service plans of the SKU that we currently point to in the collection. ResetSubscribedSKU and ResetServicePlans will set the enumerators to the initial position. Use NextSubscribedSKU to advance the enumerator to the next subscribed SKU in the collection and NextServicePlan to advance to the next service plan of the SKU that the enumerator currently points to. Link
Azure AD Plan This module provides methods for retrieving and managing user plans in Microsoft Entra and configuring the permissions users get when assigned a plan. The Plan and User Plan tables are marked as internal, so you must use the methods provided in this module to query them. Link
Azure AD Tenant This module provides methods for retrieving information about the Microsoft Entra tenant. Link
Azure AD User This module provides functionality for retrieving and updating user information from Microsoft Entra. Link
Azure AD User Management This module provides functionality for managing Microsoft Entra users. Link
Azure Blob Services API Provides functionality to work with storage accounts, containers and blobs from Azure Blob Storage Services. Link
Azure Function Link
Azure Key Vault This module exposes functionality to extract secret values from Azure key vault. Link
Azure Storage Services Authorization This module provides functionality for authenticating to the Azure Storage Services REST API. Link
Barcode This module exposes functionality to encode barcodes. Link
Base64 Convert The module provides functionality to convert the text to and from base 64. It may be used for dealing with large XML files, pictures etc. Link
BLOB Storage Provides a way to store various kinds of data. It consists of the TempBlob container to store BLOB data in-memory, the Persistent BLOB Management interface for storing BLOB data between sessions, and the TempBlob List interface for storing sequences of variables, each of which stores BLOB data. Potential uses are storing images, long texts, PDF files, and so on. Link
Business Chart Link
Camera and Media Interaction Contains functionality that enables users to interact with a camera or media. Link
Caption Class Defines how the CaptionClass property displays captions for pages and tables. You can define rules for how captions display. Link
Client Type Management This module is to allow testing of functionality that relies on a client type other than the one that the test is executed on. Link
Confirm Management Contains helper methods that either display a confirm dialog when logic is run, or suppresses it if UI isn't allowed, such as background sessions or webservice calls. Link
Cryptography Management Provides helper functions for encryption and hashing. Link
Cues and KPIs This module provides setup pages and interface methods to manage cues in Business Central. Link
Customer Experience Survey This module exposes functionality to connect to CES (Customer Experience Surveys). Link
Data Administration Link
Data Archive Provides an API that lets you add archiving to any app object that needs to archive data before deleting it. Link
Data Classification This module provides functionality for handling data classification for objects that might contain sensitive information. Link
Data Compression The purpose of this module is to provide ability to create, update, read and dispose a binary data compression archive. Link
Date and Time Link
Date-Time Dialog The modules consist of a page to enter date or date-time values. Link Default Role Center The modules expose functionality to define default role center. Link
Device This module allows you to access information such as the name, MAC address, type, and state for all devices that are connected to Business Central. Link
Document Sharing Enable document sharing flows through a valid document service Link
DotNet Aliases This module defines aliases for the most common DotNet types used in Business Central. As aliases are inherited through dependencies declared in the app.json, any alias defined here doesn't need to be declared elsewhere. Link
Edit in Excel This module provides an API for the Edit in Excel functionality in Business Central. Link
Email Provides an API that lets you connect email accounts to Business Central so that people can send messages without having to open their email application. The email module consists of the following main entities: Link
Encoding Provides helper functions to encode data Link
Entity Text This contains functionality to enable rich text content for entities. Link
Environment Cleanup Provides events in order to be able to clean up data when copying an environment. Link
Environment Information Contains helper methods for getting information about the tenant and general settings, such as determining whether this is a production or sandbox environment, or deployed as an online or on-premises version, and so on. Link
Extension Management This module provides the tools needed to manage an extension. Link
Feature Key Contains the page that enables a user to pick which new features to use. Link
Field Selection Provides a page where you can look up and select one or more fields from one or more tables. For example, this is useful when you want to set up a KPI on a Role Center. Link
Filter Tokens This module enhances filtering by enabling users to enter additional filter tokens. Link
Geolocation Contains functionality that retrieves data about the geographical location of a client device. Link
Guided Experience Link
Headlines This module provides methods for constructing headlines on Role Centers. Link
Image This module provides an API for working with images in Business Central. The module provides some basic for manipulating images. For example, you might want images to always display in a certain width and height, so we've added the ability to do things like resize and crop images. Link
Language Changes the language for Windows and applications, and converts language codes to language IDs, and vice versa. The Language table is a subset of Windows languages. You can add languages, and edit translations and descriptions in the list. Link
Math Provides constants and static methods for trigonometric, logarithmic, and other common mathematical functions. Link
Navigation Bar Subscribers Collection of the default subscribers to system events and corresponding overridable integration events for the Navigation Bar. Link
OAuth This module contains supporting tools for authenticating via OAuth 1.0 authorization protocol. Link
OAuth2 This module contains tools that support authentication through Microsoft Entra ID using OAuth 2.0 authorization protocols. Link
OAuthClientAddIn Link
Object Selection The module provides a page to select application objects. Link
Page Action Provider This module contains functionality for providing home items and the associated view actions for user's current role center page. Link
Page Summary Provider This contains functionality for providing summary data for a given page. Depending on the given page, the returned summary data can be of different types (Caption, Brick fields, Dropdown fields, First N fields, etc.) Link
Password This module introduces a dialog for the user to enter a password. Link
Performance Profiler Link
Permission Sets Link
Printer Management Contains functionality that enables a user to manage printers. Link
Privacy Notice This module provides a simple way handle privacy notice. Link
Record Link Management Helper functions on RecordLinks. Link
Record Reference Link
Record Selection Link
Recurrence Schedule This module provides methods for scheduling the recurrence of an event. Recurrence can be daily, weekly, monthly or yearly. The module also determines when the next occurrence will happen. Link
Regex This module provides an interface that lets you use regular expressions. Link
Rest Client Link
Retention Policy Administrators can define retention policies to specify how frequently they want Business Central to delete outdated data in tables that contain log entries and archived records. For example, cleaning up log entries can make it easier to work with the data that's relevant. Policies can include all data in the tables that is past the expiration date, or you can add filter criteria that include only certain expired data in the policy. Link
Satisfaction Survey This module provides methods for presenting a satisfaction survey to users. Link
Secrets This module contains secret providers Link
Security Groups Link
Server Settings This module provides methods for retrieving server configuration settings. Link
SharePoint Provides functions to interact with SharePoint REST API Link
SharePoint Authorization This module provides functionality for authenticating to the SharePoint REST API. Link
SmartList Designer Subscribers Collection of the default subscribers to system events and corresponding overridable integration events for the SmartList Designer. Link
System Initialization This module contains functionality for initializing the application. Link
System Permissions Link
Table Information The Table Information page shows information about database tables. Link
Telemetry Provides functionality for emitting telemetry about feature usage and uptake. Link
Tenant License State This module provides methods for retrieving the current state of the tenant license, and the start and end dates of the license. Link
Time Zone Selection Exposes ability for selecting and displaying time zones. Link
Translation Link
Upgrade Tags This module provides functionality for ensuring that the upgrade code is run only one time. Link
URI This module provides functionality to work with URIs. Link
User sign in Times This module provides functionality for keeping track of when users sign in. Link
User Permissions The modules expose functionality to check and alter User Permission sets. Link
User Selection Provides a page where you look up and select one or more registered users. For example, this is useful for assigning a person to things like documents, processes, or items. Link
User Settings Stores and exposes user-specific settings such as assigned roles, preferred language and time-zone. Link
Video This module provides functionality to add, look up, and select product videos. Link
Web Service Management This module provides the tools needed to manage web services. Link
Word Templates Use Word templates to create documents that incorporate data from Business Central using mail merge. For example, mail merge is a great way to personalize bulk communications with business partners by letter or email. Link
XML Validation Use the module to validate XML-formatted strings against XML schemas. Link
XmlWriter Provides helper functions to create XML as Big Text with System.Xml.XmlTextWriter Link

See also

BCApps
BCApps reference documentation