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 |
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 |