
Set up your development environment, debug effectively, deploy Business Central apps, and explore event driven programming, app lifecycle management with code units, notifications, page scripting, and telemetry.
If you don't have a Business Central Online subscription, you'll need to install an on-premises version of Business Central in order to follow the examples in the upcoming chapters.
Please note that the chapter titled "Admin Center Operations" applies exclusively to Business Central Online.
The PowerShell scripts that you need in this lesson are:
1. install-module bccontainerhelper
This command installs the BCContainerHelper module from the PowerShell Gallery. This module provides cmdlets for managing Microsoft Dynamics 365 Business Central containers.
2. Get-BcArtifactUrl -type onprem -country w1 -select All
This command retrieves the URL for the Business Central artifacts (like Docker images) for an on-premises deployment.
3. The third script uses the New-BCContainer cmdlet to create a new Business Central Docker container with the specified configuration, including memory limits and authentication settings.
Remember to enter the password, select an artifact URL, provide a container name, and optionally, change the user if desired.
$password = 'mypass'
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$artifactUrl = "https://bcartifacts-exdbf9fwegejdqak.b02.azurefd.net/onprem/24.7.25890.0/w1"
$containerName = "bcserv"
$credential = New-Object pscredential 'admin', $securePassword
New-BCContainer -accept_eula `
-accept_outdated `
-updateHosts `
-artifactUrl $artifactUrl `
-containerName $containerName `
-credential $credential `
-auth UserPassword `
-shortcuts StartMenu `
-memoryLimit 8G `
-alwaysPull
Install Visual Studio Code and add AL extensions for Business Central, including the Microsoft AI language extension, AZ AL Dev Tools, and Oscar's AI language extension, then create a project.
This lesson demonstrates installing Business Central from the installation kit for on-premise use, configuring server, instance, port, authentication, and publishing an AL project via Visual Studio Code.
Gain access to a Microsoft Business Central sandbox and publish your first app, using a work or business email and a purchased domain, while distinguishing sandbox from production.
Access the business central admin center, copy the production environment to a sandbox to deploy apps, and expect activation within minutes or up to 48 hours.
Publish your extension to production by uploading the packed app file via extension management, then deploy and monitor status in the installation status until the app is uploaded.
Explore how the performance profiler in Microsoft Dynamics 365 Business Central identifies bottlenecks by showing time spent by the application, objects, and call trees during postings and extensions.
Discover how to debug in Visual Studio Code by setting breakpoints, starting debugging, and using continue, step over, step into, and step out to navigate code.
Learn to speed up debugging in Business Central by using conditional breakpoints that pause only for a specific item, such as 1953W, during the on after getrecord trigger.
Attach a debugger to a Business Central session using Visual Studio Code by publishing an app, setting a breakpoint, and configuring launch.json for on-premise or sandbox environments.
Discover how to record actions in Business Central with the page scripting tool, creating reusable scripts for posting items, tests, and training to reproduce bugs efficiently.
Access the business central on-premises SQL Server Management Studio to query tables like sales header, enable advanced reporting and performance analysis through complex queries and logs.
Learn how to implement events in Business Central using a publisher-subscriber model, extending the item table and item card page, and subscribing with a codeunit to update item ledger entries.
Subscribe to and handle the on before validate base unit of measure event. Set is_handled to true in the subscriber to influence the behavior of the application.
Publish events to decouple core business logic from future extensions, enabling maintainable and scalable code; the lecture shows creating an on before validate custom category event with an event publisher.
Discover manual event subscribers in Business Central, bind and unbind subscriptions, and trigger actions like automatically filling the requested delivery date on new sales orders.
Use the event recorder to map events when validating the line discount on a sales order. Isolate the process, start and stop recording, and tailor behavior with AL code.
Explore how non-modal notifications in Business Central alert users about shipments, using a codeunit to subscribe to post events, create messages, and optionally open the shipment from the notification.
Discover how single instance codeunits maintain session state, using a global text and getter/setter to pass a description to the item ledger entry during sales order posting.
Explore how install coordinates and install codeunits automate setup tasks in Business Central, including fresh installs and reinstalls, with setup tables, pages, and is installed and is reinstalled fields.
Discover how upgrade code units in Business Central manage data during extension updates by copying a field to a new one, using triggers, tags, and data transfer.
Learn to collect and display errors in Business Central using the error message management and error message handling code units, and compare traditional errors with a consolidated error list.
Implement an interface-driven calculation feature in AL by creating a calculate line table, an enum for sum and multiplication, and code units that update the result via a page action.
Connect Business Central to Azure AI language service to analyze sentiment in item reviews using a code unit and the service endpoint and keys.
Connect to the Azure AI language service to perform entity recognition on text, extracting key information such as names, organizations, locations, and objects within Business Central item reviews.
Explore command-driven code generation in AL with GitHub Copilot by describing requirements in multi-line comments, producing procedures and code units that handle inventory checks and discounts.
Explore how GitHub Copilot Chat assists AL programming, from generating project documentation and creating an event subscriber to describing code, clarifying a vacation days field, and building a cart page.
Learn how an instructions file guides the GitHub Copilot agent to generate better code by enforcing naming rules, documentation, and tests in a practical hello world example.
Learn to create and use a custom agent in GitHub Copilot Chat, defining front matter, model, and prompts, then test and deploy the agent in a practical workflow.
Configure predefined tools in a custom agent via the front matter to control its capabilities, selecting tools or categories like read, search, and edit, and verify behavior through tests.
Extend a custom agent by adding a custom tool that reads AL project info from app.json using a ps1 script and an mcp.json server configuration.
Publish and share your power app by creating and publishing new versions, then use the share link to distribute live updates to others.
Enable Power Automate for users in Business Central by managing the privacy notice status options and granting the automate exec permission, then verify access and prepare to build flows.
Install the test runner to enable automated testing in Business Central. Open the Tell Me extension market, search for test, install the Test Runner, and verify installation in extension management.
Discover how test coordinates drive automated testing in Business Central by building a test code unit that verifies the item search description is uppercase.
Create page scripts to automate tests in Business Central by recording from the role center, validating unit of measure in the resource journal, and using BC replay for automation.
Discover how automated tests catch breaking changes by simulating a bad code change in a Business Central extension, observing validation failures for unit of measure, then restoring stability.
Explore the admin center to manage production and sandbox environments in Dynamics 365 Business Central Cloud, and create, clone, rename, delete environments, plus add notification recipients.
Discover how to open the Business Central admin center in online environments using the admin center shortcut or a tenant ID link, and locate your tenant ID.
Identify roles that grant admin center access, including global administrator, Dynamics 365 administrator, or Dynamics 365 Business Central administrator. Learn to check and assign these roles in Azure.
Learn how to create and assign a security group to control environment access in the admin center, including defining owners, members, and modifying group assignments.
Learn to add notification recipients by entering a name and a valid email, then save, so recipients receive alerts about environment updates, conflicts, and scheduled or successful updates across environments.
Manage installed apps in your environment by viewing name, publisher, version, and update status; use extension management in sandbox environments, and uninstall or update as needed.
Schedule and manage environment updates in business central by setting a six-hour update window and scheduling the update for the next day, with in-app and email notifications.
Explore the capacity menu in admin center, including storage capacity usage, the refresh button to recalculate space, and a breakdown by source, environments, and per-table storage to analyze data needs.
Explore data compression in Business Central by compressing resource ledger entries, including vendor and customer ledgers, optimizing storage and understanding irreversible changes and backup recommendations.
Explore data lifecycle management with retention policies in Business Central, showing how defaults and custom periods, table scoping, and status filters drive automated and manual deletions via the job queue.
Welcome to Business Central Programming – Beyond the Basics!
Ready to take your Microsoft Dynamics 365 Business Central development skills to the next level?
This course is designed for developers who already understand the fundamentals of AL programming and want to deepen their knowledge with the tools, techniques and best practices used in real Business Central projects.
This course continues where my "Begin Programming in Microsoft Dynamics 365 Business Central" course ends, covering additional tools, development concepts and Business Central features that you'll use as you gain more experience with AL development. If you already have equivalent AL development experience, you can jump straight into this course.
Rather than revisiting the basics, we'll focus on the tools, concepts and features that will help you become more confident when developing Business Central extensions.
Throughout the course, every topic is explained through practical demonstrations that you can apply in your own Business Central projects.
What You'll Learn:
Development Tools & Productivity
Install Business Central using Docker Desktop, Microsoft's Installation Kit (DVD), or a Business Central Online Sandbox
Publish extensions to both On-Premises and Business Central Online environments
Debug AL applications efficiently
Use the Performance Profiler to identify performance bottlenecks
Work with the Page Scripting Tool
Increase your productivity using GitHub Copilot when developing AL extensions
AL Development Topics
Work with Event-Driven Programming
Manage the application lifecycle using Install, Upgrade and other specialized Codeunits
Create notifications for Business Central users
Learn how to work with Job Queues
Get introduced to integrating Business Central with the Microsoft Power Platform
Explore additional AL development concepts that will help you better understand the Business Central development platform.
Automated Testing
Understand the fundamentals of automated testing in Business Central
Learn how automated tests improve code quality and simplify future maintenance
Business Central Administration
Navigate the Business Central Admin Center
Create and manage Business Central Online environments
Perform common administration tasks for cloud-hosted Business Central environments
Telemetry
Introduction to Business Central telemetry
Understand the basics of Business Central telemetry
Multiple Development Environment Options
To make this course accessible on as many computers as possible, it includes three different ways to set up your Business Central development environment.
Option 1 (Recommended) – Install Business Central locally using Docker Desktop.
Option 2 – If Docker isn't compatible with your computer or cannot be installed because of hardware, virtualization or operating system limitations, you can instead install Business Central locally using Microsoft's Installation Kit (DVD).
Option 3 (Alternative) – If neither local installation method works for you, the course also includes a complete chapter showing how to develop using a Business Central Online Sandbox.
You only need ONE of these environments to complete the course.
Once one installation method is working, simply continue with the remaining lessons. Although many demonstrations use Docker, the concepts covered throughout the course are exactly the same regardless of which development environment you choose.
If you encounter installation difficulties, don't worry. The course explains alternative setup methods, and you can always ask questions in the Q&A section, where I'll be happy to help.
Whether you're looking to improve your daily development workflow or expand your AL programming knowledge, this course will help you become more comfortable developing extensions for Microsoft Dynamics 365 Business Central.
Important: This course focuses on practical, real-world Business Central development and administration. It is not intended as preparation for the Microsoft MB-820 certification exam.